Spring Boot 引數校驗註解(自整理,不停的測試更新)
阿新 • • 發佈:2022-05-12
首先我們只使用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 |
String | 該欄位為Email格式,才能通過 | YES | |
@Future | 時期、時間 | 驗證日期是否在當前時間之後,否則無法通過校驗
@Future |
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 |