Hibernate验证器是否支持国际化。我看到了jar,我可以看到各种ValidationMessages.properties文件。
我们可以创建自己的自定义错误消息,这些消息将被国际化吗?我不想在Hibernate验证器中使用默认提供的错误消息。
我们需要使用自己的自定义消息,并且应该将其国际化。
以及Hibernate验证器支持的语言是什么。在jar中我看到了英语,法语,德语,土耳其语和蒙古语的属性文件。
我们可以添加更多语言,例如西班牙语,葡萄牙语等?
答案 0 :(得分:6)
I18N是Bean Validation规范的组成部分。
默认情况下,从名为“ValidationMessages”的资源包中检索消息。因此,只需提供此捆绑包(例如ValidationMessages.properties),以覆盖来自Hibernate Validator的默认消息(从捆绑“org.hibernate.validator.ValidationMessages”中检索)所需的语言。
除了你提到的语言,Hibernate Validator 4.2还会提供中文(HV-359)和西班牙语(HV-483)消息。
如果您不想使用基于文件的资源包,您也可以提供自己的MessageInterpolator或ResourceBundleLocator实施。
使用Hibernate Validator的PlatformResourceBundleLocator
它也可以使用包含“ValidationMessages”以外的其他名称的包:
Validation
.byProvider(HibernateValidator.class)
.configure()
.messageInterpolator(
new ResourceBundleMessageInterpolator(
new PlatformResourceBundleLocator("com.mycompany.Messages")))
.buildValidatorFactory()
.getValidator();`