一、Hibernate Validate簡介
Hibernate Validator是一個基於Java的校驗框架,實現Bean Validation規範的所有API。Hibernate Validator實現了JSR 303 Bean Validation規範。該規範提供一種驗證機制,可以用於在表單驗證等場景下進行Java Bean屬性的校驗。
二、Hibernate Validate註解
Hibernate Validator提供了豐富的註解,以滿足各種校驗需求。以下是Hibernate Validator提供的常用註解:
@NotNull
用於驗證被注釋的元素必須不為null,{@code CharSequence} 長度必須大於0。
public class User { @NotNull(message = "姓名不能為空") private String name; // other property }
@NotBlank
用於驗證被注釋的字符序列必須不為空(長度不為0)並且不是空白字符串。
public class User { @NotBlank(message = "姓名不能為空") private String name; // other property }
@NotEmpty
用於驗證注釋的元素不允許為null或為空。支持元素類型為CharSequence、Collection、Map、數組。
public class User { @NotEmpty(message = "手機號不能為空") private String mobile; @NotEmpty(message = "郵箱不能為空") private String email; // other property }
@Min 和 @Max
用於驗證被注釋的字段的值必須大於或等於/小於或等於指定的值。
public class User { @Min(value = 18, message = "年齡必須大於等於18歲") private Integer age; @Max(value = 100, message = "年齡必須小於等於100歲") private Integer age; // other property }
用於驗證被注釋的元素必須是電子郵件地址。
public class User { @Email(message = "郵箱格式不正確") private String email; // other property }
三、Hibernate Validate使用
使用Hibernate Validator需要配置相應的依賴,並在需要校驗的Bean字段上添加相應的註解。需要注意的是,需要使用Validator進行校驗時,需要使用Validator對應的校驗器。ValidatorFactory是校驗器工廠,通過ValidatorFactory可以獲取Validator進行校驗。
示例代碼:
定義需要校驗的User類:
public class User { @NotBlank(message = "用戶名不能為空") private String username; @NotBlank(message = "密碼不能為空") private String password; @Email(message = "郵箱格式不正確") private String email; @NotNull(message = "年齡不能為空") @Min(value = 18, message = "年齡必須大於等於18歲") @Max(value = 100, message = "年齡必須小於等於100歲") private Integer age; // getters and setters }
根據User類創建測試類:
public class UserValidatorTest { private Validator validator; @Before public void setUp() { ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory(); validator = validatorFactory.getValidator(); } @Test public void testUserValidator() { User user = new User(); user.setUsername(" "); user.setPassword("123456"); user.setEmail("test.email@test.com"); user.setAge(12); Set<ConstraintViolation> violations = validator.validate(user); Assertions.assertEquals(2, violations.size()); } }
總結
本文介紹了Hibernate Validator的基本使用方式以及常用註解的使用方法。在實際開發中,Hibernate Validator可以方便快捷地完成表單驗證等場景下的Java Bean屬性校驗。使用Hibernate Validator,可以大大提高開發效率,減少不必要的開發工作量。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/283209.html