關於Spring4中validation的使用

今天按照《manning spring in action 4th edition》的5.4.2部分進行表單的validation測試,按照書上的說法,spring4可以實現validation是因爲對 JSR 303 - Bean Validation規範進行了支持。使用Java Validation API提供的annotation,給相關屬性值進行註解就能達到約束效果,相關注解都定義在javax.validation.constraints裏。


一開始我做的時候,只導入了(如果不用maven,直接把包放到WEB-INF/lib下):

友情鏈接:http://mvnrepository.com/

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>

然而,並不能達到數據驗證的效果,也不報錯.......後來發現書中有一段話,說道:No extra configuration is required to make Java Validation work in Spring MVC. You just need to make sure an implementation of the Java API, such as Hibernate Validator, is in the project’s classpath..........在Spring MVC中啓用Java Validation並不需要其他配置,只需要確認有一個Java API的實現(例如Hibernate Validator)放在工程的classpath。


所以需要找一份Hibernate Validator的實現:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.1.3.Final</version>
</dependency>
當我加入後,出現一大堆錯誤.....這時候我的內心是喜悅的.....因爲至少有錯誤發生....所以對待一個人最殘忍的是什麼....是沉默....你打我罵我也好過不理我.....


根據錯誤的大致意思...應該是缺少依賴包之類的,陸陸續續加了以下兩個包:

<dependency>
	<groupId>org.jboss.logging</groupId>
	<artifactId>jboss-logging</artifactId>
	<version>3.1.4.GA</version>
</dependency>
<dependency>
    <groupId>com.fasterxml</groupId>
    <artifactId>classmate</artifactId>
    <version>1.3.1</version>
</dependency>

好了,這下就沒問題了,不過還有一點值得交代的是@NotNull、@NotEmpty、@NotBlank的區別:

這裏有篇帖子說得很好



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章