【问题记录】springMVC @Valid使用不生效问题
问题描述
在网上找到如何使用@Valid注解后,就把用到的配置和jar包加上,然后测试发现一直不生效。下面是配置及解决方法
配置
1.引入依赖
2.添加相应的配置(springmvc配置文件)
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/> <mvc:annotation-driven validator="validator"/>
3.在需要校验的实体类中加入注解(注解所属包:javax.validation.constraints)
4.写一个测试方法调用
运行之后发现BindingResult 一直是 0 errors
解决
检查了好几遍配置确定没问题,所以就自己在一个最简单的springMVC项目中写一个进行测试,发现上面的配置是没有问题的,打断点到源码中查看,发现没有获取到validator属性。
于是猜测有可能是配置的位置顺序导致的,所以就将配置的顺序进行调整,最后发现只要放在 json解析的后面就会一直获取不到值,放在前面就没有问题,然后问题解决
(其实也试过把其他的一些配置文件注释掉,最后无果。。。)
虽然找到了问题所在和解决方式,但是并不是很清楚为什么json解析这块的配置会影响到validator的获取问题
参考链接
xsshu