SpringBoot参数校验-错误消息国际化

个人专题目录


SpringBoot参数校验-错误消息国际化

整合hibernate-validator验证和Spring验证并使用Spring的国际化

Maven核心依赖

  
      org.springframework.boot
      spring-boot-starter-validation
      ${spring-boot.version}
  
  
  
      org.hibernate.validator
      hibernate-validator-annotation-processor
      ${hibernate-validator.version}
      compile
  
  
      org.hibernate.validator
      hibernate-validator
      ${hibernate-validator.version}
  

整合Spring核心配置

@Configuration
@Slf4j
public class WebMvcConfig implements WebMvcConfigurer {

    @Autowired
    private MessageSource messageSource;

    @Autowired
    private LocalValidatorFactoryBean localValidatorFactoryBean;

    @Override
    public Validator getValidator() {
        //该行代码即指定了使用Spring的国际化配置来配置Hibernate-Validator框架的国际化信息
        localValidatorFactoryBean.setValidationMessageSource(messageSource);
        //该行代码是给Hibernate-Validator框架设置一些参数,比如下面一行设置校验快速失败模式,关于什么是快速失败,我在这里不详细展开,不懂的同学google即可
        localValidatorFactoryBean.getValidationPropertyMap().put(HibernateValidatorConfiguration.FAIL_FAST, "true");
        return localValidatorFactoryBean;
        return localValidatorFactoryBean;
    }
}

错误提示的国际化配置

话不多说上配置代码,非常简单就一行代码就搞定(设置国际化文件的位置)

spring.messages.basename=i18n/messages

接下来怎么使用就不详细贴测试用例了,大家可自行google

你可能感兴趣的:(SpringBoot参数校验-错误消息国际化)