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.

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top