Bean Validation e mensagens de erro no arquivo .properties
-
19-09-2019 - |
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.
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