logosty 2016-12-12 10:08 采纳率: 0%
浏览 13250
已结题

@Valid注解校验时不起作用

使用@Valid注解标记时不起作用,完全没有经过验证
图片说明
图片说明
图片说明
图片说明
其他环境是windows、MyEclipse 10、JDK 1.7、JAVAEE 6、Tomcat 7
表单提交空白数据时,并没有触发验证,将BindingResult errors打印出来显示的是0 errors
求大神解答,困扰一天了

  • 写回答

2条回答 默认 最新

  • 编程爱好者熊浪 2016-12-12 13:26
    关注

    网上找的,看看。
    Spring在处理Validation时,会有三种情况发生:1)验证通过,控制器方法正常执行。

    2)验证失败,即输入的信息未满足验证条件,BindingResult中会获得错误信息。

    3)验证过程抛出异常,可能是你定义的验证条件有问题,比如将@NotEmpty 用到int类型,或者条件相互冲突,或者验证过程中类型转换错误等,导致有异常抛出。

    其中1)2)都是在Validation的控制之内,第三种情况不同于第二种情况,此时验证没有得到有效执行,BindingResult也就不会生成,控制器方法也就不会正常执行。

    所以你的情况应该是第三种情况,类型转换出错,你可以删除其中的一些注解,应该不难定位问题所在。

    评论

报告相同问题?