administrador.base.controller.init.model_init_campos_inputs - gamboamartin/administrador GitHub Wiki
model_init_campos_inputs
Esta función privada se encarga de inicializar múltiples campos de entrada de un modelo de vista, agregando un tipo específico a cada campo dado, utilizando la función model_init_campos_input()
.
Signatura
private function model_init_campos_inputs(array $campos_view, array $keys, string $type): array
Parámetros
-
$campos_view
(array): Un array asociativo que representa los campos de la vista. -
$keys
(array): Un array que contiene las claves de los campos que se van a inicializar. -
$type
(string): El tipo que se asignará a todos los campos especificados por$keys
.
Retorna
- Tipo:
array
- Descripción: Un array actualizado que representa los campos de la vista de entrada, con el tipo asignado a cada campo especificado por
$keys
.
Explicación Detallada
Validación del tipo: Se verifica si la variable $type está vacía. Si lo está, se devuelve un mensaje de error indicando que el tipo está vacío.
Iteración sobre las claves de los campos: Se itera sobre el array $keys para cada una de las claves de campo especificadas.
Validación de cada clave de campo: Se verifica que cada clave de campo sea una cadena de texto no vacía. Si alguna de las claves no cumple con esta condición, se devuelve un mensaje de error.
Inicialización de cada campo de vista: Para cada clave de campo, se llama a la función model_init_campos_input() para inicializar el campo de vista con el tipo especificado.
Retorno de campos actualizados: Se devuelve el array $campos_view actualizado con el tipo asignado a cada campo especificado.
Ejemplos
// Ejemplo: Inicializar múltiples campos de entrada de un modelo de vista
$campos = [
'nombre' => ['type' => 'string', 'required' => true],
'edad' => ['type' => 'integer', 'required' => false],
];
$claves_campos = ['nombre', 'edad'];
$tipo_asignado = 'string';
$resultado_actualizado = model_init_campos_inputs($campos, $claves_campos, $tipo_asignado);
if (is_array($resultado_actualizado)) {
// Utilizar los campos actualizados
var_dump($resultado_actualizado);
} else {
// Manejar el mensaje de error
echo "Hubo un error al inicializar los campos de entrada: ";
var_dump($resultado_actualizado);
}
Código de la Función
private function model_init_campos_inputs(array $campos_view, array $keys, string $type): array
{
$type = trim($type);
if($type === ''){
return $this->error->error(mensaje: 'Error type esta vacio',data: $type, es_final: true);
}
foreach ($keys as $key){
if(!is_string($key)){
return $this->error->error(mensaje: 'Error key debe ser string',data: $key, es_final: true);
}
$key = trim($key);
if($key === ''){
return $this->error->error(mensaje: 'Error key esta vacio',data: $key, es_final: true);
}
$campos_view = $this->model_init_campos_input(campos_view: $campos_view, key: $key, type: $type);
if(errores::$error){
return $this->error->error(mensaje: 'Error al inicializar campo view',data: $campos_view);
}
}
return $campos_view;
}