mardi 21 octobre 2008, par Brice Favre
Depuis Copix 3.0.3 sont apparus les validateurs permettant de valider des données de façon automatique. Ce premier article à pour but de présenter les validateurs simples et composites, comment les utiliser et les intégrer dans votre code. Prochainement je vous expliquerai comment créer des classes de validateurs.
À partir un formulaire simple contenant Nom, Prénom, date de naissance, numéro de téléphone, j’aimerais pouvoir le valider, et renvoyer un message d’erreur si les informations ne sont pas correctement remplies. Pour commencer je créé le template, default.form.php, de la page contenant le formulaire.
Le fichier est placé dans répertoire templates de mon module. Il ne reste plus qu’à l’intègrer dans mon contrôleur par défaut, fichier actiongroups/default.actiongroup.php du module, méthode processDefault :
Je crée maintenant une procédure qui va vérifier si Nom et Prénom sont des chaînes de caractères, la date de naissance est une date et le téléphone un téléphone. Copix met à ma disposition à travers son mécanisme de validateurs tous les éléments pour le faire.
En passant par des validateur simple, on valide toutes les valeurs individuellement en utilisant le raccourci _validator () ; comme ceci :
Il possible de valider une valeur à l’aide de plusieurs validateurs, par exemple pour vérifier qu’une valeur est bien remplie. On utilise dans ce cas les validateurs composites. Par exemple pour tester que votre téléphone est bien rempli et correspond à un numéro de téléphone il convient de faire :
Le code ainsi réalisé permet de créer le tableau d’erreur qui peut être affiché très simplement dans un template.
Depuis l’actiongroup il suffit de renvoyer le tableau d’erreur dans un objet PPO et passer celui ci au template :
Une simple boucle dans le template permettra d’afficher les erreurs.
Dans mon code, j’utilise le même template pour afficher à la fois le formulaire et les erreurs, ce qui permet à l’utilisateur de ne pas avoir à faire de clics supplémentaires.
A partir de cet article vous pouvez désormais utiliser des validateurs au sein de vos traitements de formulaires.
Pour se faciliter la vie et permettre d’étendre plus simplement l’étendue de nos vérifications, il est aussi possible (et souvent préférable) de créer un seul validateur qui permettra de vérifier l’ensemble des variables de votre formulaire. C’est ce que nous verrons, dans un prochain article.
Si vous avez des questions ou des remarques, n’hésitez pas à les poster sur le forum Copix.