Bean Validation und Fehlermeldungen bei .properties-Datei
-
19-09-2019 - |
Frage
Ich arbeite an einem JSF-Projekt mit Glasfischen. Meine Validierung funktioniert gut, aber ich nicht eine benutzerdefinierte Fehlermeldung werden.
//Class = User, package = devteam
@NotEmpty @Pattern(".+@.+\\.[a-z]+")
private String emailAddress;
Meine ValidationMessages.properties ist im WEB-INF-Ordner mit folgendem Inhalt:
devteam.User.emailAddress=Invalid e-mail address
Danke.
Lösung
Sie haben zwei Probleme. Erstens, die Lage der ValidationMessages.properties Datei. Es hat in der Wurzel des Classpath sein, so bewegt sie in WEB-INF / classes Ihr zweites Problem sind die Nachrichtenschlüssel. Die Standard-Nachrichtenschlüssel für die Pattern-Einschränkung zum Beispiel ist {javax.validation.constraints.Pattern.message} . In Ihrem Fall, dass Sie die Meldung Parameter in der @Pattern Anmerkung angeben:
@Pattern(regexp=".+@.+\\.[a-z]+", message="{devteam.User.emailAddress}")
Andere Tipps
Sie sollten die Datei im Stamm setzen, dann
devteam.User.emailAddress[Pattern] = "Your message here"
Hinweis [Pattern], um die Nachricht zur Ausgabe zu spezifizieren, wenn das Muster eine Einschränkungsverletzung hat. Dies macht es einfacher, meiner Meinung nach halten vs mit den Nachrichten wie
@Patterh(regexp ="xx", message = "your message here")
für jeden Setter