java - Hibernate validator 中的国际化

标签 java internationalization hibernate-validator

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) 消息。

如果您根本不想使用基于文件的资源包,您也可以提供自己的 MessageInterpolatorResourceBundleLocator实现。

使用 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/

相关文章:

ruby-on-rails-3 - 将希伯来语配置语言环境文件添加到 Rails 应用程序,但数据库未加载配置文件

java - hibernate validator 不适用于 Spring MVC 应用程序

spring - 400 Hibernate @Valid 错误请求

hibernate - 扩展@NotEmpty 以接受其他类

java - Android Gradle 全局常量

java - JDK7 中的推断泛型和反引号

java - 如何获取文档字段的 TokenStream 以用于突出显示?

Java - 带有列表的泛型

reactjs - Typescript i18next 不满足约束 'string |模板字符串数组 NextJS

ruby-on-rails - 是否有辅助 ruby​​/rails 国际化的工具?