Bean Validation e messaggi di errore a file .properties
-
19-09-2019 - |
Domanda
Sto lavorando su un JSF Projekt con Glassfish. Il mio convalida funziona bene, ma io non diventare un messaggio di errore personalizzato.
//Class = User, package = devteam
@NotEmpty @Pattern(".+@.+\\.[a-z]+")
private String emailAddress;
I miei ValidationMessages.properties è nella cartella WEB-INF con questo contenuto:
devteam.User.emailAddress=Invalid e-mail address
Grazie.
Soluzione
Si hanno due problemi qui. In primo luogo, la posizione del file ValidationMessages.properties . Deve essere nella radice del classpath, quindi spostarlo nella WEB-INF / classes La tua seconda problemi sono le chiavi dei messaggi. La chiave del messaggio predefinito per il vincolo del modello, ad esempio è {javax.validation.constraints.Pattern.message} . Nel tuo caso si desidera specificare il parametro messaggio nel @Pattern della nota:
@Pattern(regexp=".+@.+\\.[a-z]+", message="{devteam.User.emailAddress}")
Altri suggerimenti
Si dovrebbe mettere il file nella root,
devteam.User.emailAddress[Pattern] = "Your message here"
avviso [Pattern] per specificare il messaggio di uscita quando il modello ha una violazione del vincolo. questo rende più facile da mantenere, a mio parere vs avendo i messaggi come
@Patterh(regexp ="xx", message = "your message here")
per ogni setter