非WEB項目中引入Hibernate Validator


前言:

網上一些朋友分享了關於hibernate-validator的使用方法,但是不是缺少關聯庫信息,就是提供的參考代碼中缺少自定類。

希望我這一篇博客能夠讓你順利的跑出預期的結果。

如果有錯,可以給我留言。

英文好的朋友可以參考官網的getting started。

http://hibernate.org/validator/documentation/getting-started/

一、環境

hibernate-validator庫必須運行的JDK版本為1.6及以上。

二、hibernate-validator庫及依賴

1 classmate-1.3.1.jar
2 hibernate-validator-5.3.1.Final.jar
3 javax.el-2.2.4.jar
4 javax.el-api-2.2.4.jar
5 jboss-logging-3.3.0.Final.jar
6 validation-api-1.1.0.Final.jar

三、假設我們構造了一個Car類

 1 public class Car {
 2 
 3     @NotNull
 4     private String manufacturer;
 5 
 6     @NotNull
 7     @Size(min = 2, max = 14)
 8     private String licensePlate;
 9 
10     @Min(2)
11     private int seatCount;
12 
13     public Car(String manufacturer, String licencePlate, int seatCount) {
14         this.manufacturer = manufacturer;
15         this.licensePlate = licencePlate;
16         this.seatCount = seatCount;
17     }
18 
19     public String getManufacturer() {
20         return manufacturer;
21     }
22 
23     public void setManufacturer(String manufacturer) {
24         this.manufacturer = manufacturer;
25     }
26 
27     public String getLicensePlate() {
28         return licensePlate;
29     }
30 
31     public void setLicensePlate(String licensePlate) {
32         this.licensePlate = licensePlate;
33     }
34 
35     public int getSeatCount() {
36         return seatCount;
37     }
38 
39     public void setSeatCount(int seatCount) {
40         this.seatCount = seatCount;
41     }
42 
43 }

四、如何校驗呢?我們看看這個測試類

 1 public class CarTest {
 2 
 3     public static void main(String[] args) {
 4         ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
 5         Validator validator = factory.getValidator();
 6         Car car = new Car(null, "蘇A999999", 1);
 7 
 8         Set<ConstraintViolation<Car>> constraintViolations = validator.validate(car);
 9         for (ConstraintViolation<Car> constraintViolation : constraintViolations)
10             System.out.println("錯誤:" + constraintViolation.getMessage());
11     }
12 }

五、結果如何?

1 十一月 08, 2016 10:31:00 下午 org.hibernate.validator.internal.util.Version <clinit>
2 INFO: HV000001: Hibernate Validator 5.3.1.Final
3 錯誤:不能為null
4 錯誤:最小不能小於2

六、真是簡單易用!雖然這個庫重復“發明”了輪子。

七、你注意到了嗎?結果是自動國際化了的!


免責聲明!

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



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