SpringBoot Hibernate Validation 数据校验-校验模式

说明

默认一次性返回了所有验证不通过的集合,通常按顺序验证到第一个字段不符合验证要求时,就可以直接拒绝请求了。

Hibernate Validator有以下两种验证模式:

  • 普通模式(默认):会校验完所有的属性,然后返回所有的验证失败信息

  • 快速失败返回模式:只要有一个验证失败,则返回

配置为 快速失败返回模式:

方式一

@Bean
public LocalValidatorFactoryBean getValidatorFactory() {
    LocalValidatorFactoryBean localValidatorFactoryBean = new LocalValidatorFactoryBean();
    localValidatorFactoryBean.getValidationPropertyMap().put("hibernate.validator.fail_fast", "true");
    return localValidatorFactoryBean;
}

方式二

@Bean
public Validator validator(){
    ValidatorFactory validatorFactory = Validation.byProvider( HibernateValidator.class )
            .configure()
            .failFast(true)
            //.addProperty( "hibernate.validator.fail_fast", "true" )
            .buildValidatorFactory();
    Validator validator = validatorFactory.getValidator();
    return validator;
}

原文出处:/show_1IX759R2tORc.html