Validation des données en PHP avec la bibliothèque Respect\\Validation

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Respect\\Validation?

Respect\\Validation est une bibliothèque de validation de données en PHP puissante et expressive. Elle permet de construire des règles de vérification complexes à l'aide de chaînes de méthodes, rendant le code propre et lisible. La bibliothèque prend en charge plus de 60 règles intégrées (de la vérification d'email à la validation CPF/CNPJ) et est facilement extensible avec des règles personnalisées.

Pourquoi la validation est-elle nécessaire?

La validation des données est une étape critique dans le traitement des entrées utilisateur, des requêtes API ou des données provenant de sources externes. Sans elle, l'application est vulnérable à :

  • Injection SQL et attaques XSS
  • Données incorrectes provoquant des erreurs
  • Violation de la logique métier

Respect\\Validation résout ces problèmes en fournissant une interface unifiée pour le filtrage et la vérification.

Installation

Installez la bibliothèque via Composer :

composer require respect/validation

Après l'installation, incluez l'autoloader et utilisez l'espace de noms :

require 'vendor/autoload.php';use Respect\\Validation\\Validator as v;

Fonctionnalités principales

La bibliothèque propose :

  • Chaînes de règles : v::alnum()->noWhitespace()->length(5, 20)->validate($input)
  • Messages d'erreur personnalisés : v::email()->setName('Email')->assert($input)
  • Validation groupée : v::attribute('name', v::stringType())->attribute('age', v::intVal())
  • Champs facultatifs et règles conditionnelles (par exemple, vérification uniquement si le champ est présent).

Exemple de code PHP

Validation simple d'un formulaire d'inscription :

<?phprequire 'vendor/autoload.php';use Respect\\Validation\\Validator as v;

$data = [ 'username' => 'john_doe', 'email' => 'john@example.com', 'password' => 'secret123', 'age' => 25];

$usernameValidator = v::alnum()->noWhitespace()->length(4, 20);$emailValidator = v::email();$passwordValidator = v::length(8, 64);$ageValidator = v::intVal()->between(18, 120);

try { $usernameValidator->setName('Username')->assert($data['username']); $emailValidator->setName('Email')->assert($data['email']); $passwordValidator->setName('Password')->assert($data['password']); $ageValidator->setName('Age')->assert($data['age']); echo 'Toutes les données sont valides!';} catch (\\Respect\\Validation\\Exceptions\\NestedValidationException $e) { echo implode('<br>', $e->getMessages());}

Résultat en cas d'erreur : "Username must contain only letters and digits" etc.

Quand l'utiliser

  • Formulaires sur les sites web — inscription, contact, commande
  • API REST — vérification des requêtes JSON avant traitement
  • Import de données — validation CSV/Excel avant écriture en base de données
  • Scripts en ligne de commande — vérification des arguments CLI

Respect\\Validation convient aux projets de toute taille — des sites simples aux frameworks (Laravel, Symfony). Elle remplace les constructions if-else lourdes et simplifie les tests.

Recommendations