一、说明
以下方法实现了读取指定国际化文件的校验器。
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;
}