私はSpring 3.1.0.RELEASE、JSF 2.x、JPA 2 with Hibernate Providerを使ってWebアプリケーションをやっています。アプリケーションはTomcat 6.X上で動作します。Beans validation mutl lang message fail
web-appはさまざまな言語で表示できます:en、es、fr。
私は自分のエンティティでBean検証を使用します。 Hibernate Validatorはプロバイダ4.2.0.Finalです。
私はエンティティに次のコードを持っている:私は<h:messages />
を使用して、テンプレートにエラーメッセージを表示
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));
}
}
:私はこのような例外を処理
@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;
をcv.getMessage()
は常に英語のメッセージを返すので、翻訳されたメッセージをどのように取得しますか?
電子メールの場合はうまくいきますが、私は良い言葉でメッセージを持っています。
第二のものがありますが、私は理解していない:
@NotEmpty
がConstraintViolationExceptionをスローなぜと@Email
はありませんの?
ありがとう。
申し訳ありません私はあなたの質問に答えているかわかりません。 –