如何使java bean验证国际化?
在国际化之前,我有(类似的)以下验证错误消息:
email is not a valid email address (was some-nonexistant-user[at]invalid.email)
根据:https://docs.oracle.com/javaee/6/tutorial/doc/gkahi.html,可以创建ValidationMessages.properties文件以使文本国际化
例如,如果我添加内容(为了演示目的将其保留在英语中,尽管这应该是另一种语言)
org.hibernate.validator.constraints.Email.message=is invalid email format
现在,这会产生以下验证错误:
email is invalid email format (was some-nonexistant-user[at]invalid.email)
所以这似乎只能让我控制文本的一小部分,但我如何自定义例如was
部分?并且可以完全控制整个文本?类似的东西:
{property} is invalid (data = {value})
而不是给我输出
email is invalid (data = some-nonexistant-user[at]invalid.email)
答案 0 :(得分:1)
如果您无法通过本地化的属性文件执行所需操作,则可能需要创建自己的MessageInterpolator。
请参阅http://beanvalidation.org/1.0/spec/#validationapi-message
上的第4.3.2节