src.where.valida_data_filtro_fecha - gamboamartin/where GitHub Wiki

valida_data_filtro_fecha

La función valida_data_filtro_fecha es una función privada que valida un filtro de fechas en un array. Asegura que el array contenga las claves requeridas (campo_1, campo_2, y fecha), y que el valor asociado a fecha sea una fecha válida.

Signatura


private function valida_data_filtro_fecha(array $fil_fecha): true|array

Parámetros

  • array $fil_fecha:
    Un array asociativo que debe contener las claves campo_1, campo_2, y fecha. La clave fecha debe estar asociada a una fecha válida.

Retorna

  • true|array:
    Retorna true si la validación es exitosa. En caso de error, retorna un array de error generado por $this->error->error().

Explicación Detallada

  1. Validación de las claves requeridas:

    • La función utiliza valida_existencia_keys() para verificar que el array $fil_fecha contenga las claves campo_1, campo_2, y fecha.
    • Si alguna de estas claves falta, se genera un mensaje de error y se retorna un array con el mensaje de error.
  2. Validación de la fecha:

    • La función llama a valida_fecha() para validar que el valor asociado a la clave fecha 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.
  3. Retorno del resultado:

    • Si todas las validaciones son exitosas, la función retorna true.

Ejemplos

$fil_fecha = [
    'campo_1' => 'id_producto',
    'campo_2' => 'precio',
    'fecha' => '2023-08-15'
];

$resultado = $this->valida_data_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_data_filtro_fecha(array $fil_fecha): true|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);
        }
        $valida = $this->validacion->valida_fecha(fecha: $fil_fecha['fecha']);
        if(errores::$error){
            return $this->error->error(mensaje:'Error al validar fecha',data:$valida);
        }
        return true;
    }