administrador.modelado.validaciones.valida_upd_base - gamboamartin/administrador GitHub Wiki

valida_upd_base

La función valida_upd_base es una función pública que valida un registro antes de su actualización en la base de datos. Realiza verificaciones sobre el ID, el contenido del registro, y opcionalmente, sobre el formato de los campos según patrones de expresión regular. Esta función es clave para asegurar que el registro cumple con las condiciones necesarias antes de proceder con la operación de actualización.

Signatura


final public function valida_upd_base(int $id, array $registro_upd, array $tipo_campos = array(), bool $valida_row_vacio = true): bool|array

Parámetros

  • int $id:
    El ID del registro que se va a actualizar. Debe ser un valor entero mayor que 0.

  • array $registro_upd:
    Un array que contiene los datos del registro que se va a actualizar. Cada clave representa el nombre de un campo y cada valor es el dato asociado a ese campo.

  • array $tipo_campos (opcional):
    Un array donde las claves son los nombres de los campos que se desean validar y los valores son los tipos de campo, que determinan el patrón de expresión regular a utilizar en la validación. Este parámetro es opcional y su valor por defecto es un array vacío.

  • bool $valida_row_vacio (opcional):
    Un valor booleano que indica si se debe validar que $registro_upd no esté vacío. Si es true, se realiza la validación; si es false, se omite. El valor por defecto es true.

Retorna

  • bool|array:
    Retorna true si todas las validaciones son exitosas. En caso de error, retorna un array de error generado por $this->error->error().

Explicación Detallada

  1. Validación del ID:

    • Si el ID ($id) es menor o igual a 0, la función retorna un error indicando que el ID debe ser mayor a 0.
  2. Validación del registro vacío:

    • Si $valida_row_vacio es true y $registro_upd está vacío (tiene una longitud de 0), se retorna un error indicando que el registro no puede estar vacío.
  3. Validación de campos con expresiones regulares:

    • La función llama a valida_regex para validar los campos de $registro_upd según los patrones especificados en $tipo_campos.
    • Si ocurre un error durante la validación, se retorna un array de error.
  4. Retorno:

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

Ejemplos

$id = 10;
$registro_upd = [
    'email' => '[email protected]',
    'telefono' => '555-1234'
];
$tipo_campos = [
    'email' => 'email',
    'telefono' => 'telefono'
];

$resultado = $this->valida_upd_base($id, $registro_upd, $tipo_campos);

// Resultado esperado:
// true (si el ID es válido y todos los campos cumplen con los patrones correspondientes)

Código de la Función

final public function valida_upd_base(int $id, array $registro_upd, array $tipo_campos = array(),
                                          bool $valida_row_vacio = true): bool|array
    {
        if($id <=0){
            return $this->error->error(mensaje: 'Error el id debe ser mayor a 0',data: $id);
        }
        if($valida_row_vacio) {
            if (count($registro_upd) === 0) {
                return $this->error->error(mensaje: 'El registro no puede venir vacio', data: $registro_upd);
            }
        }
        $valida_regex = $this->valida_regex(tipo_campos: $tipo_campos,registro_upd: $registro_upd);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al validar registro',data:  $valida_regex);
        }

        return true;
    }