Cours 23 — Validation des données
Introduction
Symfony permet de vérifier automatiquement les données saisies par l’utilisateur.
Les règles de validation sont généralement placées dans les entités.
Importer les contraintes
1
| use Symfony\Component\Validator\Constraints as Assert;
|
Champ obligatoire
1
2
| #[Assert\NotBlank]
private ?string $nom = null;
|
Résultat :
1
| Le champ nom ne peut pas être vide.
|
Longueur minimale et maximale
1
2
3
4
5
| #[Assert\Length(
min: 2,
max: 50
)]
private ?string $nom = null;
|
Résultat :
1
| Le nom doit contenir entre 2 et 50 caractères.
|
Vérifier une adresse email
1
2
| #[Assert\Email]
private ?string $email = null;
|
Résultat :
1
| L'adresse email doit être valide.
|
Combiner plusieurs contraintes
1
2
3
| #[Assert\NotBlank]
#[Assert\Length(min: 2, max: 50)]
private ?string $nom = null;
|
Déclencher la validation
1
2
3
4
5
6
7
8
| $form->handleRequest($request);
if (
$form->isSubmitted() &&
$form->isValid()
) {
}
|
La méthode isValid() vérifie automatiquement les contraintes.
Afficher les erreurs
1
2
3
|
{{ form_errors(form.nom) }}
|
Comprendre le processus
1
2
3
4
5
6
7
8
9
| Saisie utilisateur
↓
Validation
↓
isValid()
↓
Erreurs éventuelles
↓
Enregistrement
|
Conclusion
La validation permet de sécuriser les données.
Contraintes à retenir :
1
2
3
| NotBlank
Length
Email
|
Méthode à retenir :