Pergunta

i estou trabalhando em um Projekt JSF com Glassfish. Meu validação funciona bem, mas eu não tornar-se uma mensagem de erro personalizada.

//Class = User, package = devteam
@NotEmpty @Pattern(".+@.+\\.[a-z]+")
private String emailAddress;

Meu ValidationMessages.properties está na pasta WEB-INF com este conteúdo:

devteam.User.emailAddress=Invalid e-mail address

Obrigado.

Foi útil?

Solução

Você está tendo dois problemas aqui. Primeiro, a localização do ValidationMessages.properties arquivo. Tem que ser na raiz do classpath, então movê-lo em WEB-INF / classes Sua segunda problemas são as chaves de mensagem. A chave de mensagem padrão para a restrição padrão por exemplo, é {javax.validation.constraints.Pattern.message} . No seu caso você deseja especificar o parâmetro mensagem no @pattern anotação:

@Pattern(regexp=".+@.+\\.[a-z]+", message="{devteam.User.emailAddress}")

Outras dicas

Você deve colocar o arquivo na raiz, em seguida,

devteam.User.emailAddress[Pattern] = "Your message here"

aviso [Padrão] para especificar a mensagem para a saída quando o padrão tem uma violação de restrição. isso torna mais fácil para manter na minha opinião vs ter as mensagens como

@Patterh(regexp ="xx", message = "your message here")

para cada setter

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top