1. 程式人生 > 其它 >Spring Boot 引數校驗註解(自整理,不停的測試更新)

Spring Boot 引數校驗註解(自整理,不停的測試更新)

首先我們只使用java官方的 javax.validation.constraints ,足以使用了,不使用spring boot 自身的,自身的與官方的一致,可能會有擴充套件,但是還得引入包,麻煩,只用官方的就行了。

用java官方的標準 ,就是所有的引數校驗註解都在這個包下:

以下是具體說明:

註解 作用型別 解釋 null是否能通過驗證
@AssertFalse Boolean、boolean 該欄位值為false時,驗證才能通過 YES
@AssertTrue Boolean、boolean 該欄位值為true時,驗證才能通過 YES
@DecimalMax  數字型別(原子和包裝) 驗證小數的最大值
@DecimalMax(value = "12.35")
private double money;
YES
@DecimalMin 數字型別(原子和包裝) 驗證小數的最小值 YES
@Digits 數字型別(原子和包裝) 驗證數字的整數位和小數位的位數是否超過指定的長度
@Digits(integer = 2, fraction = 2)
private double money;
YES
@Email String 該欄位為Email格式,才能通過 YES
@Future 時期、時間 驗證日期是否在當前時間之後,否則無法通過校驗
@Future
private Date date;
YES
@FutureOrPresent 時期、時間 時間在當前時間之後 或者等於此時 YES
@Max 數字型別(原子和包裝)
//該欄位的最大值為18,否則無法通過驗證
@Max(value = 18)
private Integer age;
YES
@Min 數字型別(原子和包裝) 同上,不能低於某個值否則無法通過驗證 YES
@Negative   數字<0 YES
@NegativeOrZero   數字=<0 YES
@NotBlank String 該註解用來判斷字串或者字元,只用在String上面

字串不能為null,字串trim()後也不能等於“”

NO
@NotEmpty String、集合、陣列、Map

不能為null,不能是空字元,集合、陣列、map等size()不能為0;字串trim()後可以等於“”

NO
@NotNull 任何型別 使用該註解的欄位的值不能為null,否則驗證無法通過 NO
@Null   修飾的欄位在驗證時必須是null,否則驗證無法通過 YES
@Past 時間、日期 驗證日期是否在當前時間之前,否則無法通過校驗,必須是一個過去的時間或日期 YES
@PastOrPresent 時間、日期 驗證日期是否在當前時間之前或等於當前時間 YES
@Pattern   用於驗證欄位是否與給定的正則相匹配
@Pattern(regexp = "正則")
private String name;
YES
@Positive   數字>0 YES
@PositiveOrZero   數字>=0 YES
@Size 字串String、集合Set、陣列Array、Map;List不生效
修飾的欄位長度不能超過5或者低於1
@Size(min = 1, max = 5)
private String name;

集合、陣列、map等的size()值必須在指定範圍內

 YES