【问题标题】:BindingResult always return 0 errors Hibernate ValidatorBindingResult 总是返回 0 个错误 Hibernate Validator
【发布时间】:2019-04-19 15:50:29
【问题描述】:

我对 Hibernate Validator 或更准确地说是 BindingResult 和方法 .hasError() 有问题。即使使用空对象,它也始终返回 true。在这里查看我的代码:https://github.com/jeddyn/spring-mvc-demo

Customer: null customer first name: null
bindingresult: org.springframework.validation.BeanPropertyBindingResult: 0 errors
Customer: null customer first name: null
bindingresult: org.springframework.validation.BeanPropertyBindingResult: 0 errors

【问题讨论】:

    标签: java spring hibernate validation model-view-controller


    【解决方案1】:

    尝试在 pom.xml 中添加以下依赖项

    <dependency>
         <groupId>javax.validation</groupId>
         <artifactId>validation-api</artifactId>
         <version>1.0.0.GA</version> 
    </dependency>
    

    您可以更改与休眠验证器兼容的版本。

    通过像下面这样更改顺序,将@Valid 放在@ModelAttribute 之前,这很奇怪,但它有效。

    public String processForm(
                @Valid @ModelAttribute("customer") Customer customer,
                BindingResult theBindingResult)
    

    参考this

    【讨论】:

    • 我的项目中已经有了这个,但仍然无法正常工作。我试过:添加 bean &lt;bean id="myBeansValidator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" /&gt; 并添加 &lt;mvc:annotation-driven validator="myBeansValidator"/&gt; 但现在我有错误:pastebin.com/UwWHt2Rc
    • 更改两者的顺序
    • 还是什么都没有,我也试过用存储库删除文件夹 .m2 并重新导入它。
    • 您使用的是什么版本的验证 api
    • javax.validation 2.0.1.Final,Hibernate Validator 6.0.7.Final
    猜你喜欢
    • 2022-08-05
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2017-07-28
    • 2017-06-27
    • 2016-10-28
    • 1970-01-01
    相关资源
    最近更新 更多