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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top