administrador.modelado.validaciones.valida_regex - gamboamartin/administrador GitHub Wiki
valida_regex
La función valida_regex
es una función privada que valida varios campos de un array $registro_upd
contra patrones de expresión regular definidos en un array $tipo_campos
. La función itera sobre los campos especificados y verifica que los valores correspondientes en $registro_upd
cumplan con el formato esperado.
Signatura
private function valida_regex(array $tipo_campos, array $registro_upd): true|array
Parámetros
-
array $tipo_campos
:
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. -
array $registro_upd
:
Un array que contiene los datos del registro a validar. Cada clave representa el nombre de un campo y cada valor es el dato asociado a ese campo.
Retorna
true|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
-
Iteración sobre los campos:
- La función itera sobre cada par clave-valor en
$tipo_campos
, donde la clave es el nombre del campo ($campo
) y el valor es el tipo de campo ($tipo_campo
).
- La función itera sobre cada par clave-valor en
-
Validaciones:
- Si el campo (
$campo
) no existe en$registro_upd
, la función continúa con el siguiente campo. - Si el valor del campo en
$registro_upd
es una cadena vacía (''
), la función también continúa con el siguiente campo. - La función utiliza
valida_regex_campo
para validar el campo actual. Si ocurre un error durante la validación, se retorna un array de error.
- Si el campo (
-
Retorno:
- Si todas las validaciones son exitosas, la función retorna
true
.
- Si todas las validaciones son exitosas, la función retorna
Ejemplos
$tipo_campos = [
'email' => 'email',
'telefono' => 'telefono',
'nombre' => 'nombre'
];
$registro_upd = [
'email' => '[email protected]',
'telefono' => '555-1234',
'nombre' => 'John Doe'
];
$resultado = $this->valida_regex($tipo_campos, $registro_upd);
// Resultado esperado:
// true (si todos los campos cumplen con los patrones correspondientes)
Código de la Función
private function valida_regex(array $tipo_campos, array $registro_upd): true|array
{
foreach ($tipo_campos as $campo =>$tipo_campo){
if(!isset($registro_upd[$campo])){
continue;
}
if(trim($registro_upd[$campo]) === ''){
continue;
}
$valida = $this->valida_regex_campo(campo: $campo,registro_upd: $registro_upd,tipo_campo: $tipo_campo);
if(errores::$error){
return $this->error->error(mensaje: 'Error al validar',data: $valida);
}
}
return true;
}