SpringBoot参数校验-错误消息国际化
2019-12-11 本文已影响0人
Java及SpringBoot
个人专题目录
SpringBoot参数校验-错误消息国际化
整合hibernate-validator验证和Spring验证并使用Spring的国际化
Maven核心依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<!-- 该插件非常有用,可以在编译期检测出使用错误的检验注解并给予提示 -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>${hibernate-validator.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
</dependency>
整合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