La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

- Introduction - Applications - Configuration : le fichier validator-rules.xml - Les règles génériques - Le fichier validator.xml - Le struts validator.

Présentations similaires


Présentation au sujet: "- Introduction - Applications - Configuration : le fichier validator-rules.xml - Les règles génériques - Le fichier validator.xml - Le struts validator."— Transcription de la présentation:

1 - Introduction - Applications - Configuration : le fichier validator-rules.xml - Les règles génériques - Le fichier validator.xml - Le struts validator et lActionForm - Définition dune nouvelle règle Le struts validator – framework de validation

2 Présentation : Le Validator est à la base un des nombreux projets connexes à Struts, il est maintenant inclus dans la distribution standard depuis la version 1.1. C'est un bon exemple de la dynamique créée autour de Struts. Ce framework très générique peut être utilisé pour la validation de toute sorte de Java Bean, nous nous contenterons de voir son utilisation à l'intérieur du framework Struts. But : Le but de ce framework est de faciliter la validation des données qui sont transmises à lapplication par lutilisateur. Ces validations se font grâce au Validator de manière déclarative. Le Validator permet des validations côté serveur et client. Introduction

3 Struts permet de faire de la validation à partir des ActionForm. Il faut pour cela: développer une logique de validation pour chaque ActionForm, enregistrer manuellement les erreurs dans des ActionError. Cette technique bien que satisfaisante n'est pas optimisée: il y a de la redondance dans le code (les validations nécessaires à un formulaire sont souvent identiques). il y a des difficultés de maintenance: un changement dans la logique de validation oblige la recompilation du code. Applications

4 Le Validator répond à ces problèmes : en déplaçant la logique de validation en dehors des ActionForm. en permettant la configuration déclarative des comportements de validation de chaque ActionForm par le biais d'un fichier XML. De plus il accélère le développement : en proposant des règles de validation basiques: vérification d'un , d'un champ obligatoire… en proposant un support pour l'internationalisation: différentes règles de validations peuvent être configurées en fonction du Local de l'utilisateur. Applications

5 Plusieurs types d'extensions peuvent être ajoutées au framework Struts, le Validator est considéré comme intrusif. En effet lutilisation du Validator entraîne des modifications dans la manière dutiliser le framework. Le Validator fait néanmoins partie de la distribution Struts depuis la version 1.1. Lutilisation du Validator impose davoir dans le classpath de lapplication les packages suivants: commons-validator.jar jakarta-oro.jar : ce package contient les fonctionnalités pour lutilisation des expressions régulières dans les méthodes de validation. Installation

6 Les applications Struts qui utilisent le Validator doivent déclarer que le Validator est utilisé. Plusieurs solutions sont envisageables pour cela, nous utiliserons le principe du PlugIn. Le principe du PlugIn sera décrit en détail dans le chapitre sur lextension du framework Struts. Installation

7 Lutilisation du PlugIn va permettre au chargement de lapplication dinitialiser le Validator, lensemble des ressources décrivant la logique de validation est alors chargé en mémoire à partir des fichiers de configuration XML. Ces ressources sont spécifiées par les valeurs de lattribut pathnames qui sont récupérées par linstance de la classe ValidatorPlugIn. Installation

8 Configurer les règles de validations : La configuration utilise deux fichiers xml: le premier permet de décrire les règles de validations utilisées par l'application: validator-rules.xml le second permet d'associer ces règles à un formulaire et à ses champs: validation.xml Configuration

9 Le fichier validator-rules.xml : Les règles de validations utilisées dans l'application sont configurées dans le fichier : validator-rules.xml. Ce fichier contient toutes les règles de validation, il est indépendant de l'application et peut donc être réutilisé dans une autre application. Il contient dans la version livrée avec struts un grand nombre de règles configurées. Dans de nombreuses applications les règles proposées suffiront. L'utilisateur garde la possibilité de rajouter ses propres règles, c'est le seul cas ou il modifiera ce fichier. Lorsqu'une règle à vérifier entraîne une erreur, un ActionError est automatiquement créée puis ajoutée dans l'ActionErrors. La suite du traitement est identique à ce que nous avons vu dans la validation au niveau de l'ActionForm. Conseil : Si vous devez ajouter de nouvelles règles il est recommandé de le faire dans un fichier différent, cela facilitera le passage à de nouvelles versions du framework. Configuration

10 Exemple de fichier validator-rules.xml : name définit le nom de la règle: ce nom sert à référencer la règle dans ce fichier xml mais également dans le fichier servant à associer les règles aux ActionForm. classname et méthode indique la classe et la méthode contenant la logique de validation pour la règle. methodParams liste des paramètres acceptés par la méthode. Configuration

11 Exemple de fichier validator-rules.xml (suite) : msg indique le message renvoyé en cas d'apparition d'une erreur (cf mécanisme d'externalisation des ressources). Par défaut un fichier properties propose des libellés pour chaque type d'erreurs définies par le Validator. depends cet attribut optionnel permet de spécifier si une règle dépend d'une autre. Ce système permet de créer des relations de hiérarchie sur les règles; Si B est dépendant de A alors le Validator vérifie d'abord A, en cas d'échec une erreur sur la règle A est renvoyée, en cas de succès, la règle B est vérifiée. Configuration

12 Les règles génériques : Un certain nombre de règles sont définies par le framework Validator, ces règles sont très basiques, il faut les considérer comme des règles atomiques qui serviront à lélaboration de règles plus complexes. Ces règles sont définies dans la classe org.apache.commons.validator.GenericValidator. Règles génériques du validator

13 Les règles génériques pour Struts : Afin de faciliter lutilisation des règles dans le framework Struts, une classe utilitaire a été ajoutée. Cette classe définit des règles de niveau supérieur qui sont couplées au framework Struts, mais qui facilitent lutilisation du Validator avec Struts. Ces règles sont définies dans la classe : org.apache.struts.util.StrutsValidator. Cette classe contient la logique de validation utilisée par Struts, elle contient les méthodes qui sont déclarées par le validator-rules.xml. Quand une de ces méthodes est invoquée, si la validation échoue, un objet ActionError est automatiquement créé et ajouté à lobjet ActionErrors. Ces erreurs sont ensuite stockées pour pouvoir être retrouvées et utilisées par la vue. Règles génériques du validator

14 Présentation : Ce fichier permet de faire correspondre une règle déclarée dans validator- rules.xml avec un ActionForm. C'est à ce niveau qu'intervient la notion de configuration déclarative, le code n'est pas définit au niveau de l'ActionForm. Principe : Le principe est de déclarer dans des balises la logique de validation pour un formulaire. Lattribut name de cette balise permet de spécifier le formulaire concerné. Des sous-balises permettent de spécifier les règles associées à un champ du formulaire. Le fichier validation.xml

15 AttributDescription propertyLa propriété du formulaire associée à cette règle. dependsIndique une ou plusieurs règles à utiliser pour la propriété. indexedListPropertyIndique une propriété dans lActionForm qui retourne une Collection qui peut être indexée. Les attributs de la balise : Le fichier validation.xml

16 Exemple : Le fichier validation.xml maxlength 20 nom du formulairenom du champnom des règles de validation argument passé aux 2 règles argument passé à la règle « maxlength » indique que la valeur nest pas à rechercher dans le fichier «.properties » valeur à rechercher dans le fichier «.properties » et à passer en argument

17 Exemple de fichier «.properties » : IMPORTANT : -La règle « required » appel le message « errors.required » en cas derreur en lui passant des paramètres. -La règle « maxlength » appel le message « errors.maxlength » en cas derreur en lui passanr des paramètres. Ces messages sont les suivants : Ce qui donnera en cas derreur : Le fichier validation.xml error.nom=Le nom errors.required={0} est obligatoire errors.maxlength={0} doit posséder moins de {1} caractères Le nom est obligatoire Le nom doit posséder moins de 20 caractères

18 Utilisation d'un ActionForm : Comme nous l'avons vu, le Validator a un comportement intrusif dans le Framework, l'utilisation d'un ActionForm ou DynaActionForm n'est pas directement possible. Il faut utiliser des classes définies par le framework Validator. Ces classes héritent des classes du framework Struts, la logique dutilisation de ces classes reste donc identique. Deux classes peuvent être utilisées: ValidatorForm ValidatorActionForm La classe ValidatorForm permet dutiliser la validation sur un ActionForm comme nous lavons décrite précédemment. La classe ValidatorActionForm permet de lier les règles non pas à un formulaire, mais à une Action, un formulaire peut alors avoir plusieurs systèmes de validation en fonction de la règle quil appelle. Le struts Validator et lActionForm

19 Procédé : Si l'ensemble des règles définies par le Validator n'est pas suffisant pour l'application, il reste possible d'en rajouter. Il faut pour cela suivre trois étapes: définir une classe avec la méthode de validation. Implémenter la méthode de validation. Lier la règle à un formulaire. Définition dune nouvelle règle


Télécharger ppt "- Introduction - Applications - Configuration : le fichier validator-rules.xml - Les règles génériques - Le fichier validator.xml - Le struts validator."

Présentations similaires


Annonces Google