【发布时间】:2011-10-17 16:37:03
【问题描述】:
在 JSF 2.0 中使用休眠验证器时,ValidationMessages.properties 文件名是否可以更改为不同的文件名?
【问题讨论】:
标签: jakarta-ee bean-validation hibernate-validator
在 JSF 2.0 中使用休眠验证器时,ValidationMessages.properties 文件名是否可以更改为不同的文件名?
【问题讨论】:
标签: jakarta-ee bean-validation hibernate-validator
不,你不能给它一个不同的名字。但理论上可以使用自定义 MessageInterpolator 从任意资源包中读取。
【讨论】:
Hibernate Validator 定义了resource bundle locators 的概念,它允许自定义检索资源包的方式,同时仍使用标准消息插值算法。
要从自定义资源包中检索消息,只需使用包名定义PlatformResourceBundleLocator,然后使用定位器创建ResourceBundleMessageInterpolator,如下所示:
Validator validator =
Validation.byProvider(HibernateValidator.class)
.configure()
.messageInterpolator(
new ResourceBundleMessageInterpolator(
new PlatformResourceBundleLocator( "my_bundle" )))
.buildValidatorFactory()
.getValidator();
【讨论】: