administrador.modelado.valida_data_columna - gamboamartin/administrador GitHub Wiki

valida_data_columna

La función valida_data_columna valida que un array $data contenga las claves necesarias y que el nombre de la tabla $tabla no sea numérico. Esta función es útil para asegurar que los datos requeridos están presentes y que la tabla pasada como argumento es válida antes de proceder con operaciones adicionales.

Signatura


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

Parámetros

  • array $data:
    El array de datos que debe ser validado. Debe contener al menos la clave nombre_original.

  • string $tabla:
    El nombre de la tabla que se debe validar. No debe ser un valor numérico.

Retorna

  • true:
    Si todas las validaciones son exitosas.

  • array:
    Si alguna validación falla, se devuelve un array con información sobre el error.

Explicación Detallada

  1. Validación de Claves en $data:

    • `Se verifica que el array $data contenga la clave nombre_original. Si falta, se genera un error.
  2. Validación del Nombre de la Tabla:

    • Se comprueba que el valor de $tabla no sea numérico. Si es numérico, se considera un error.
  3. Retorno en Caso de Éxito:

    • Si todas las validaciones pasan, se devuelve true.

Ejemplos

$data = ['nombre_original' => 'columna1'];
$tabla = 'mi_tabla';

$resultado = $this->valida_data_columna($data, $tabla);

if ($resultado === true) {
    // Validaciones exitosas, continuar con el proceso
} else {
    // Manejar el error
    print_r($resultado);
}

Código de la Función

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

        $keys = array('nombre_original');
        $valida = $this->valida_existencia_keys(keys:$keys, registro: $data);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al validar data', data: $valida);
        }

        if(is_numeric($tabla)){
            return $this->error->error(mensaje:'Error ingrese un array valido '.$tabla, data: $tabla, es_final: true);
        }

        return true;
    }