【問題記錄】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屬性。

source_code_1

source_code_2

 

於是猜測有可能是配置的位置順序導致的,所以就將配置的順序進行調整,最后發現只要放在 json解析的后面就會一直獲取不到值,放在前面就沒有問題,然后問題解決

(其實也試過把其他的一些配置文件注釋掉,最后無果。。。)

 雖然找到了問題所在和解決方式,但是並不是很清楚為什么json解析這塊的配置會影響到validator的獲取問題

 

參考鏈接

https://www.jianshu.com/p/036aa8bfad8f

https://www.cnblogs.com/xiu-zhan/p/7219535.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM