Ich mache eine Web-Anwendung mit Spring 3.1.0.RELEASE, JSF 2.x, JPA 2 mit Hibernate Provider. Die Anwendung läuft auf Tomcat 6.X.Bohnen Validierung viel lang Nachricht fehlgeschlagen
Die Web-App kann in verschiedenen Sprachen angezeigt werden: en, es, fr.
Ich verwende die Bean-Validierung in meinen Entitäten. Hibernate Validator ist der Anbieter, Version 4.2.0.Final.
ich den folgenden Code in einer Einheit haben:
@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;
ich mit der Ausnahme wie folgt aus:
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));
}
}
I zeigen die Fehlermeldung in der Vorlage von <h:messages />
mit Wie bekomme ich die übersetzte Nachricht, weil cv.getMessage()
immer die englische Nachricht zurückgibt?
Für die E-Mail funktioniert es gut, ich habe die Nachricht in guter Sprache.
Es gibt eine zweite Sache ist, verstehe ich nicht:
Warum @NotEmpty
eine ConstraintViolationException wirft und @Email
nicht?
Vielen Dank.
Sorry, ich bin mir nicht sicher, ob Sie meine Frage beantworten. –