Maison > Article > développement back-end > Comment extraire une classe de validateur simple en PHP ?
J'ai déjà appris à créer un formulaire et à le valider, puis à stocker les données du formulaire dans une base de données. Aujourd'hui, j'ai appris à extraire une classe Validator du code de validation du formulaire, la rendant réutilisable et modulaire.
Une classe Validator est un moyen de regrouper des fonctions qui vérifient si la saisie de l'utilisateur est correcte. Cela permet de garantir que les données saisies par un utilisateur répondent à certaines règles ou critères.
Une fonction pure est une fonction qui n'est pas contingente ou dépendante d'un état ou d'une valeur du monde extérieur. Autrement dit, une fonction pure :
La classe Validator contient des fonctions pures utilisées pour valider les données d'entrée. Dans le code d'aujourd'hui, les fonctions sont :
<?php class Validator { public static function string($value, $min = 1, $max = INF) { $value = trim($value); return strlen($value) >= $min && strlen($value) <= $max; } public static function email($value) { return filter_var($value, FILTER_VALIDATE_EMAIL); } }
Pour utiliser la classe Validator, nous l'incluons dans notre fichier PHP et appelons ses méthodes en utilisant la syntaxe Class Name::Method . Nous pouvons ensuite utiliser des instructions conditionnelles pour vérifier si les données d'entrée sont valides. Par exemple :
Si l'e-mail est valide, nous pouvons déplacer l'utilisateur vers l'écran suivant. Sinon, nous pouvons afficher un message d'erreur.
<?php require 'Validator.php'; $config = require 'config.php'; $db = new Database($config['database']); $heading = 'Create Note'; if(! Validator::email('mujtabaofficial247@gmail.com')){ dd('that is not a valid email');}
Comme l'e-mail donné est correct, passez à l'exécution du code suivant. Si le corps d'entrée est valide, nous pouvons l'insérer dans la base de données. Sinon, nous pouvons afficher un message d'erreur.
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';
L'utilisation d'une classe Validator offre plusieurs avantages, notamment :
En extrayant une simple classe de validation, nous pouvons garantir que nos données d'entrée utilisateur sont validées de manière cohérente dans toute notre application.
J'espère que vous avez bien compris cela.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!