Bean Validation et les messages d'erreur au fichier .properties
-
19-09-2019 - |
Question
Je travaille sur un JSF Projekt avec Glassfish. Ma validation fonctionne bien, mais je ne deviennent un message d'erreur personnalisé.
//Class = User, package = devteam
@NotEmpty @Pattern(".+@.+\\.[a-z]+")
private String emailAddress;
Mon ValidationMessages.properties est dans le dossier WEB-INF avec ce contenu:
devteam.User.emailAddress=Invalid e-mail address
Merci.
La solution
Vous rencontrez deux problèmes ici. Tout d'abord, l'emplacement du fichier ValidationMessages.properties . Il doit être à la racine du classpath, donc le déplacer dans WEB-INF / classes Votre deuxième problèmes sont les clés de message. La clé de message par défaut pour la contrainte de modèle par exemple est {} javax.validation.constraints.Pattern.message . Dans votre cas, vous voulez spécifier le paramètre de message dans @Pattern annotation:
@Pattern(regexp=".+@.+\\.[a-z]+", message="{devteam.User.emailAddress}")
Autres conseils
Vous devez mettre le fichier à la racine, puis
devteam.User.emailAddress[Pattern] = "Your message here"
avis [Motif] pour spécifier le message à la sortie lorsque le motif a une violation de contrainte. cela rend plus facile à maintenir, à mon avis vs avoir les messages comme
@Patterh(regexp ="xx", message = "your message here")
pour chaque setter