Hibernate validator 是否支持国际化。我看到了 jar,我可以看到各种 ValidationMessages.properties 文件。
我们能否创建自己的国际化自定义错误消息?我不想使用 Hibernate validator 中默认提供的错误消息。
我们需要使用我们自己的自定义消息,并且它们应该国际化。
以及 Hibernate validator 支持的语言是什么。在 jar 中,我看到了英语、法语、德语、土耳其语和蒙古语的属性文件。
我们可以添加更多语言吗?西类牙语、葡萄牙语等?
最佳答案
I18N 是 Bean Validation 规范的组成部分。
默认情况下,消息是从名为“ValidationMessages”的资源包中检索的。因此,只需为您需要覆盖来自 Hibernate Validator 的默认消息(从包“org.hibernate.validator.ValidationMessages”中检索)的语言提供此包(例如 ValidationMessages.properties)。
除了您提到的语言之外,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();`
关于java - Hibernate validator 中的国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6261858/