解决校验失败时,提示信息国际化失效问题

前言:

spring-boot-validator参数校验系列(1)--------基本参数校验

spring-boot-validator参数校验系列(4)--------自定义参数校验异常

SpringBoot下国际化配置

一、问题场景

结合前言中教程,想实现校验国际化提示,根据步骤一步一步来,可国际化未生效。

查阅资料得知,需要重写WebMvcConfigurer#getValidator方法!!!

@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {

    @Autowired
    private MessageSource messageSource;

    /**
     * 设置MessageSource文件位置
     * @return
     */
   /* @Bean
    public MessageSource messageSource(){
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setDefaultEncoding("UTF-8");
        messageSource.setBasenames("classpath:i18n/messages");
        return messageSource;
    }*/

    /**
     * 这里特别要说明下,这里需要重写 WebMvcConfigurer#getValidator方法才能使校验时国际化生效!!!
     * @return
     */
    @Override
    public Validator getValidator(){
        LocalValidatorFactoryBean localValidatorFactoryBean = new LocalValidatorFactoryBean();
        localValidatorFactoryBean.setValidationMessageSource(messageSource);
        return localValidatorFactoryBean;
    }

}

PostMan访问

英文国际化

解决校验失败时,提示信息国际化失效问题

中文国际化

解决校验失败时,提示信息国际化失效问题

上一篇:maven不打包lib里jar解决方式


下一篇:SpringBoot之"How to"系列(一)---自定义FailureAnalyzer