src.where.valida_filtro_fecha - gamboamartin/where GitHub Wiki
valida_filtro_fecha
La función valida_filtro_fecha
es una función privada que valida un filtro de fechas en un array. Asegura que el array contenga las claves necesarias (campo_1
, campo_2
, y fecha
) y que el valor asociado a fecha
sea una fecha válida.
Signatura
private function valida_filtro_fecha(array $fil_fecha): bool|array
Parámetros
array $fil_fecha
:
Un array asociativo que debe contener las clavescampo_1
,campo_2
, yfecha
. La clavefecha
debe estar asociada a una fecha válida.
Retorna
bool|array
:
Retornatrue
si la validación es exitosa. En caso de error, retorna un array de error generado por$this->error->error()
.
Explicación Detallada
-
Validación de las claves requeridas:
- La función utiliza
valida_existencia_keys()
para verificar que el array$fil_fecha
contenga las clavescampo_1
,campo_2
, yfecha
. - Si alguna de estas claves falta, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función utiliza
-
Validación del formato de la fecha:
- La función llama a
fechas_in_array()
para validar que el valor asociado a la clavefecha
sea una fecha válida. - Si la validación de la fecha falla, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función llama a
-
Retorno del resultado:
- Si todas las validaciones son exitosas, la función retorna
true
.
- Si todas las validaciones son exitosas, la función retorna
Ejemplos
$fil_fecha = [
'campo_1' => 'id_producto',
'campo_2' => 'precio',
'fecha' => '2023-08-15'
];
$resultado = $this->valida_filtro_fecha($fil_fecha);
// Resultado esperado:
// true (si la validación es exitosa)
// Un array de error si ocurre algún problema.
Código de la Función
private function valida_filtro_fecha(array $fil_fecha): bool|array
{
$keys = array('campo_1','campo_2','fecha');
$valida = $this->validacion->valida_existencia_keys(keys:$keys, registro: $fil_fecha);
if(errores::$error){
return $this->error->error(mensaje: 'Error al validar filtro',data: $valida);
}
$keys = array('fecha');
$valida = $this->validacion->fechas_in_array(data: $fil_fecha, keys: $keys);
if(errores::$error){
return $this->error->error(mensaje: 'Error al validar filtro',data: $valida);
}
return true;
}