"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo extraer una clase de validador simple en PHP?

¿Cómo extraer una clase de validador simple en PHP?

Publicado el 2024-07-31
Navegar:765

How to extract a simple validator class in PHP?

Aprendí previamente cómo crear un formulario y validarlo, y luego almacenar los datos del formulario en una base de datos. Hoy aprendí cómo extraer una clase de validador del código de validación del formulario, haciéndolo reutilizable y modular.

Introducción

Una clase de validador es una forma de agrupar funciones que verifican si la entrada del usuario es correcta. Ayuda a garantizar que los datos ingresados ​​por un usuario cumplan ciertas reglas o criterios.

Funciones puras

Una función pura es una función que no es contingente ni depende del estado o valor del mundo exterior. En otras palabras, una función pura:

  • Siempre devuelve el mismo resultado dadas las mismas entradas.
  • No tiene efectos secundarios, es decir, no modifica ningún estado externo.
  • No depende de ningún estado externo, solo de sus parámetros de entrada.

Clase de validador

La clase Validator contiene funciones puras que se utilizan para validar datos de entrada. En el código de hoy, las funciones son:

  • cadena(): Comprueba si el valor de entrada es una cadena dentro de un rango de longitud especificado.
    • Utiliza trim() para eliminar caracteres de espacios en blanco
    • Utiliza strlen() para comprobar la longitud de los datos de entrada
  • correo electrónico(): Valida una dirección de correo electrónico utilizando la función filter_var.
= $min && strlen($value) 



Usando la clase validador

Para usar la clase Validator, la incluimos en nuestro archivo PHP y llamamos a sus métodos usando la sintaxis Nombre de clase::Método. Luego podemos usar declaraciones condicionales para verificar si los datos de entrada son válidos. Por ejemplo:

Si el correo electrónico es válido, podemos mover al usuario a la siguiente pantalla. De lo contrario, podemos mostrar un mensaje de error.





Como el correo electrónico proporcionado es correcto, pase a ejecutar el siguiente código. Si el cuerpo de entrada es válido, podemos insertarlo en la base de datos. De lo contrario, podemos mostrar un mensaje de error.

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $errors = [];

    if (! Validator::string($_POST['body'], 1, 1000)) {
        $errors['body'] = 'A body of no more than 1,000 characters is required.';
    }

    if (empty($errors)) {
        $db->query('INSERT INTO notes(body, user_id) VALUES(:body, :user_id)', [
            'body' => $_POST['body'],
            'user_id' => 1
        ]);
    }
}

require 'views/note-create.view.php';

Beneficios de utilizar una clase de validador

El uso de una clase de validador proporciona varios beneficios, entre ellos:

  • Reusabilidad: las funciones del validador se pueden reutilizar en toda la aplicación.
  • Modularidad: la lógica del validador está separada del código de la aplicación principal.
  • Mantenimiento más fácil: las funciones del validador se pueden actualizar o modificar sin afectar el código principal de la aplicación.

Conclusión

Al extraer una clase de validador simple, podemos asegurarnos de que los datos de entrada de nuestros usuarios se validen de manera consistente en toda nuestra aplicación.
Espero que hayas entendido esto claramente.

Declaración de liberación Este artículo se reproduce en: https://dev.to/ghulam_mujtaba_247/how-to-extract-a-simple-validator-class-in-php-3pp6?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3