hibernate validator 动态返回国际化提示

  • Post author:
  • Post category:其他


一、说明

以下方法实现了读取指定国际化文件的校验器。

1. MyMessages是自定义的国际化文件,放置在src的根目录下

例如有MyMessages_en_US.properties、MyMessages_zh_CN.properties

2. Locale为想要返回的语言类型

例如传入new Locale(“en”,”US”)对应返回MyMessages_en_US的定义;

二、校验器代码

    public static Validator getValidatorByLocale(Locale locale) {
        Locale.setDefault(locale);
        Validator validator = Validation.byDefaultProvider().configure()
                .messageInterpolator(
                        new ResourceBundleMessageInterpolator(new PlatformResourceBundleLocator("MyMessages")))
                .buildValidatorFactory().getValidator();
        return validator;
    }