Tutoriel JSF2 N°6 : Validation / Conversion

Avec Objis, spécialiste formation JSF Maîtrisez les validations des composants JSF. Personnalisez les messages d’erreur par défaut de JSF. Créez un composant de validation personnalisé. Enfin, mettez en œuvre l’Hibernate Validator, implémentation de réference de la spécification JSR 303 (Bean Validator)

Objectifs

- Mettre en œuvre les différentes techniques de validation des composants JSF.

Programme

- Contexte et objectifs
- Partie 1 :Mettre en œuvre les validations standard fournit par JSF sur les composants
- Partie 2 : personnalisation des messages d’erreur
- Partie 3 : Mettre en œuvre la validation personnalisée
- Partie 4 : Mettre en œuvre la validation centralisée avec Bean Validator

Durée

30 min.

Contexte

- La technologie JSF propose en standard les Validators et convertisseurs. JSF fournit également une implémentation de la JSR-303, un moteur de validation centralisé au niveau des beans.

Partie 1 :Mettre en œuvre les validations / conversion standards

Avec JSF, vous pouvez mettre en oeuvre une stratégie de validation programmative ou déclarative.

INFO : Jsf fournit 4 stratégies de validation :

— Composants standards de validation (attribut ’validator’ ou imbrication )
— Validation au niveau applicatif
— Composants personnalisés de validation
— méthodes de validation dans bean Managé

- Analysez le code suivant :

PNG - 23.1 ko
ajout du validateur date

- mettez en évidence une technique de validation et une technique de conversion fournis en standard par JSF.

- Modifiez UserBean en changeant le type de la propriété datedenaissance en Date (java.util.Date)

- Modifiez le constructeur UserBean et User prenant en charge la nouvelle propriété datedenaissance

- Générez setter et getter de la propriété datedenaissance .

PNG - 34.9 ko
modification de la propriété datedenaissance

- Le déploiement du projet sur le serveur cible Tomcat donne le rendu ci-dessous.

PNG - 24.7 ko
ereurValidation

Téléchargez le zip du projet

Zip - 2.3 Mo
Zip Projet

Partie 2 : personnaliser les messages d’erreurs JSF

Etape 1 : Créer un fichier Messages.properties

PNG - 21.1 ko
tutoriel-jsf2-validation-messages-perso

Etape 2 : configurer JSF pour qu’il tienne compte de ce fichier

PNG - 63 ko
tutoriel-jsf2-validation-messages-perso-1

INFO : possibilité de créer ses propres messages perso via f:loadBundle basename="users.MyMessages" var="msg"/ (à placer juste avant le ’body’ de la page JSF et ensuite de faire référence à ’msg’ dans les pages JSF

Partie 3 : Validation personnalisée

Mettez en oeuvre une technique de validation personnalisée :
— Créer une classe annotée de @FacesValidator et implémentant l’interface ’Validator’ de JSF
— Utiliser l’attribut ’validator’ dans le composant JSF pour associer votre classe de validation

Partie 4 : Conversion implicite, explicite et personnalisée

Rappels

— Conversion implicite : gérée par JSF : String —> Type primitif du backing Bean
— Conversion explicite : ajouter dans composant inputText ou outpoutText un attribut ’converter’ (ex : converter="javax.faces.Integer") ou balise f:converter ( Ex : )
— Conversion personnalisée : créer une classe qui soit implémente interface javax.faces.convert.Converter, soit étend un convertisseur existant (ex : DateTimeConverter).

Méthodes importantes interface Converter : getAsObject (appelé lors de la phase 2 ’Apply Request values’) et getAsString (appelé lors de la phase 6 ’Render Response’ de rendu)

Eléments Démo conversion personnalisée

PNG - 73.4 ko
tutoriel-jsf2-converter-specifique

- 

PNG - 58.3 ko
tutoriel-jsf2-converter-specifique-2

- Expliquez

Zip - 2.6 ko
demo-convertiion-perso

Partie 5 :Mettre en œuvre JSR 303 Bean Validator

- Expliquez l’objectif de la JSR 303

- Analysez le code suivant :

PNG - 17.7 ko
bean-validator-demo

- Expliquez.

- Mettez en œuvre en utilisant l’implémentation Hibernate Validator.

Lien utile : Mise en oeuvre JSF 2 + Bean validator

Conclusion

Dans ce tutoriel, vous avez mis en œuvre les validateurs fournis en standard par Mojarra.

Formation JSF

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur JSF : Formation JSF

PNG - 82.7 ko
programme détaillé JSF 2