mercredi 31 décembre 2008, par Brice Favre
Après une introduction aux validateurs, qui a permit de mieux comprendre l’utilisation de ceux-ci, nous allons maintenant en généralisé l’utilisation. Le but est d’en systématiser et automatiser l’usage.
Tout d’abord il convient de créer une fichier myvalidator.class.php dans le répertoire classes de votre module. Celle ci étends la classe abstraite CopixAbstractValidator :
Nous allons ensuite mettre en place notre validateur, pour celà il suffit d’utiliser la méthode _validate ($pValue). Celle ci est appelée au moment de l’appelle de la méthode check de vos objets validateur.
Pour tester ceci on va simplement renvoyer un tableau contenant un message d’erreur de test :
Dans l’actiongroup, il suffit d’appeller le validateur de la manière suivante :
Maintenant que le principe est défini, reprenons et intégrons le validateur défini dans l’article précédent. Pour celà nous allons attacher à chaque valeur à vérifier son validateur. Ensuite il suffira de passer dans le check du validateur un tableau ou un objet contenant les valeurs à vérifier comme celui ci :
Notre tableau de valeurs est maintenant près, il ne reste plus qu’à créer un validateur complexe et d’appeler la méthode AttachTo pour lier validateur et valeurs à valider.
En affichant les retours du validateur, on obtient les messages per défaut des validateurs de bases. Pour utiliser vos propres messages, il faudra modifier les appels de validateurs en ajoutant un troisième paramètre contenant le message d’erreur à renvoyer si une erreur de vérification s’opère, exemple :
L’avantage de créer un validateur est sa réutilisation. En effet, il est désormais possible d’appeler dans tous vos modules le validateur en place de la manière suivante :
De la même manière vous pouvez réutiliser le validateur au sein de validateur complexes. Ce principe est extrêmement utile dans les classes métiers, comme, par exemple, une famille composée de personnes.
Ces deux articles sont une présentation relativement exhaustive de l’utilisation courantes des validateurs sur Copix. Ils vous permettront de mieux découper vos traitements de données du reste de votre code. Très pratique lorsqu’un projet est très avancé et que l’on doit ajouter ou enlever des vérifications dans des formulaires. N’hésitez pas à nous faire part de vos expériences sur le forum Copix.