administrador.modelado.validaciones.valida_keys_sql.21.24.0 - gamboamartin/administrador GitHub Wiki

valida_keys_sql

Esta función valida la presencia y la integridad de las claves requeridas en un array de datos.

Signatura

final public function valida_keys_sql(array $data, string $tabla): true|array

Parámetros

  • $data: Un array que contiene los datos a validar.
  • $tabla: El nombre de la tabla asociada a los datos.

Retorna

  • true: Si todas las claves requeridas están presentes y no están vacías.
  • array: Si se encuentra algún error, se devuelve un array con información detallada sobre el error.

Explicación Detallada

Paso 1: Descripción de la Función

La función valida_keys_sql valida la presencia y la integridad de las claves requeridas en un array de datos asociado a una tabla en particular.

Paso 2: Parámetros de Entrada

$data: Un array que contiene los datos a validar.

$tabla: El nombre de la tabla asociada a los datos.

Paso 3: Validación de Claves

Verificar si la clave 'key' está presente en el array $data. Si no está presente, devuelve un error.

Verificar si la clave 'enlace' está presente en el array $data. Si no está presente, devuelve un error.

Verificar si la clave 'key_enlace' está presente en el array $data. Si no está presente, devuelve un error.

Limpiar cada clave de espacios en blanco y comprobar que no estén vacías. Si alguna clave está vacía, devuelve un error correspondiente.

Paso 4: Retorno

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

Si se encuentra algún error durante las validaciones, la función devuelve un array con información detallada sobre el error.

Ejemplos

$data = [
    'key' => 'valor1',
    'enlace' => 'valor2',
    'key_enlace' => 'valor3'
];

$tabla = 'nombre_tabla';

$resultado = valida_keys_sql($data, $tabla);

if ($resultado === true) {
    echo "Los datos son válidos.";
} else {
    echo "Error: " . $resultado['mensaje'];
    // También puedes acceder a $resultado['data'] para obtener más detalles sobre el error.
}

// Ejemplo de array de datos válido
$data_valido = [
    'key' => 'valor1',
    'enlace' => 'valor2',
    'key_enlace' => 'valor3'
];

// Ejemplo de array de datos con una clave faltante
$data_faltante = [
    'key' => 'valor1',
    'key_enlace' => 'valor3'
];

// Ejemplo de array de datos con una clave vacía
$data_vacia = [
    'key' => '',
    'enlace' => 'valor2',
    'key_enlace' => 'valor3'
];

Código de la Función

final public function valida_keys_sql(array $data, string $tabla): true|array
    {
        if(!isset($data['key'])){
            return $this->error->error(mensaje: 'Error data[key] debe existir en '.$tabla, data: $data, es_final: true);
        }
        if(!isset($data['enlace'])){
            return $this->error->error(mensaje:'Error data[enlace] debe existir',data: $data, es_final: true);
        }
        if(!isset($data['key_enlace'])){
            return $this->error->error(mensaje:'Error data[key_enlace] debe existir',data: $data, es_final: true);
        }
        $data['key'] = trim($data['key']);
        $data['enlace'] = trim($data['enlace']);
        $data['key_enlace'] = trim($data['key_enlace']);
        if($data['key'] === ''){
            return $this->error->error(mensaje:'Error data[key] esta vacio '.$tabla, data:$data, es_final: true);
        }
        if($data['enlace'] === ''){
            return $this->error->error(mensaje:'Error data[enlace] esta vacio '.$tabla, data:$data, es_final: true);
        }
        if($data['key_enlace'] === ''){
            return $this->error->error(mensaje:'Error data[key_enlace] esta vacio '.$tabla, data:$data, es_final: true);
        }
        return true;
    }