Я делаю веб-приложение с использованием Spring 3.1.0.RELEASE, JSF 2.x, JPA 2 с поставщиком гибернации. Приложение работает на Tomcat 6.X.Проверка фасов mutli lang сообщение fail
Веб-приложение может быть показано на разных языках: en, es, fr.
Я использую проверку бобов в своих сущностях. Hibernate Validator - поставщик, версия 4.2.0.Final.
Я следующий код объекта:
@Email
@Size(max=255)
@Column(name = "email_ceo", length = 255)
private String emailCeo;
@NotEmpty
@OrderBy("position ASC")
@OneToMany(cascade = ALL, mappedBy = "site", fetch = FetchType.EAGER)
private List<SiteLanguage> langs;
Я обрабатывать исключение, как это:
try {
siteService.createSite(newSite);
} catch (ConstraintViolationException ex) {
final FacesContext facesContext = FacesContext.getCurrentInstance();
for (ConstraintViolation<?> cv : ex.getConstraintViolations()) {
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, cv.getMessage(), null));
}
}
отобразить сообщение об ошибке в шаблоне с помощью <h:messages />
Как получить переведенное сообщение, потому что cv.getMessage()
всегда возвращает английское сообщение?
Для электронной почты он отлично работает, у меня есть сообщение на хорошем языке.
Существует вторая вещь, я не понимаю:
Почему @NotEmpty
бросает ConstraintViolationException и @Email
не делает?
Спасибо.
Извините, я не уверен, что вы ответите на мой вопрос. –