administrador.base.orm._result.valida_totales.21.18.0 - gamboamartin/administrador GitHub Wiki

valida_totales

Esta función privada se utiliza para validar un campo específico en un arreglo de datos. Verifica si el campo está presente, si es un número válido y si contiene un valor numérico.

Signatura


private function valida_totales(string $campo, array $row): true|array

Parámetros

  • $campo (string): El nombre del campo a validar en el arreglo de datos.
  • $row (array): El arreglo de datos donde se buscará el campo a validar.

Retorna

  • Tipo: true|array
  • Descripción:
    • true: Si la validación es exitosa, lo que indica que el campo especificado existe en el arreglo y tiene un valor numérico.
    • array: Si ocurre un error durante la validación, se devuelve un arreglo con un mensaje de error detallado.

Explicación Detallada

Validación de la existencia del campo: Se verifica si el campo especificado ($campo) está presente en el arreglo de datos ($row). Si está ausente, se devuelve un mensaje de error.

Validación del valor del campo: Se verifica si el valor del campo es un número válido. Si no lo es, se devuelve un mensaje de error.

Retorno de la validación: Si la validación es exitosa, se devuelve true. Si hay algún error durante la validación, se devuelve un arreglo con un mensaje de error detallado.

Ejemplos

// Ejemplo: Validar un campo en un arreglo de datos
$campo = 'cantidad';
$row = ['cantidad' => 10, 'precio' => 20];
$resultado_validacion = valida_totales($campo, $row);
if ($resultado_validacion === true) {
    // La validación fue exitosa
    echo "El campo '$campo' en el arreglo es válido.";
} else {
    // Mostrar mensaje de error
    echo "Hubo un error en la validación: ";
    var_dump($resultado_validacion);
}

Código de la Función

private function valida_totales(string $campo, array $row): true|array
    {
        $campo = trim($campo);
        if($campo === ''){
            return $this->error->error(mensaje: 'Error campo esta vacio',data: $campo, es_final: true);
        }
        if(!isset($row[$campo])){
            return $this->error->error(mensaje: 'Error row['.$campo.'] NO EXISTE',data: $row, es_final: true);
        }
        if(!is_numeric($row[$campo])){
            return $this->error->error(mensaje: 'Error row['.$campo.'] no es un numero valido',data: $row,
                es_final: true);
        }
        return true;

    }