validator(驗證器)是作用于object級的。規範文檔有兩個,一個是jsr303 “bean validator”和jsr349 “bean validator 1.1”,它們都定義了一整套api。通過标注給對象的屬性,來添加限制。也就是進行驗證的規則。這兩個限制可以從以下兩個連結下載下傳:
<a href="https://jcp.org/en/jsr/detail?id=303">jsr303</a>
<a href="https://jcp.org/en/jsr/detail?id=349">jsr349</a>
但是jsr隻是一個規範文檔,我們需要的是它的實作。我這裡用的是hibernate validator,它實作了jsr303和jsr349
jsr303不需要編寫驗證器類,隻需要利用jsr303的标注類型指定限制
這裡copy了一份jsr303的限制表
springmvc跟 hibernate validator整合十分簡單
1、 在springmvc配置檔案中有這一句
2、 把hibernate validator的jar包添加到classpath路徑下,如果項目部署在tomcat上,那/web-inf/lib中要有這個jar包
3、 在需要驗證的object添加@valid,在具體需要限制的屬性上面添加限制
4、 如果需要覆寫驗證器的錯誤資訊,隻需在屬性檔案中添加property鍵
形式為:constraint.object.property=需要顯示的錯誤資訊
執行個體:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQ3clRncvRXYklGbhZnb212ZulmcwN3LcFHbvw1YpB3LcJXZ2JXZzNWaw9CXwgDM4oDNyIjLzQjLyQjLxITMvw1LcpDc0RHaiojIsJye.png)
驗證失敗網頁上會顯示驗證失敗的消息