一、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-tw/n/283209.html
微信掃一掃
支付寶掃一掃