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 estrue
, se realiza la validación; si esfalse
, se omite. El valor por defecto estrue
.
Retorna
bool|array
:
Retornatrue
si todas las validaciones son exitosas. En caso de error, retorna un array de error generado por$this->error->error()
.
Explicación Detallada
-
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.
- Si el ID (
-
Validación del registro vacío:
- Si
$valida_row_vacio
estrue
y$registro_upd
está vacío (tiene una longitud de 0), se retorna un error indicando que el registro no puede estar vacío.
- Si
-
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.
- La función llama a
-
Retorno:
- Si todas las validaciones son exitosas, la función retorna
true
.
- Si todas las validaciones son exitosas, la función retorna
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;
}