通過javax.validation.constraints下的註解實現欄位驗證
阿新 • • 發佈:2018-11-09
@NotNull
使用該註解的欄位的值不能為null
,否則驗證無法通過。
實體類程式碼:
@Entity
@Data
public class Person {
@Id
@GeneratedValue
private Integer id;
@NotNull(message = "name不能為空")
private String name;
private Integer age;
}
在控制器接受引數時,新增@Valid
註解,例如:
public String indexUI(@Valid Person person, BindingResult result)
可以通過BindingResult
物件獲取相關的錯誤提示。
其他驗證的註解
-
@Null
修飾的欄位在驗證時必須是null
,否則驗證無法通過。 -
@Size
如下程式碼表示,修飾的欄位長度不能超過5或者低於。
@Size(min = 1, max = 5)
private String name;
- @Max
如下程式碼表示,該欄位的最大值為19,否則無法通過驗證。
@Max(value = 19)
private Integer age;
-
@Min
同理,被該註解修飾的欄位的最小值,不能低於某個值。 -
@AssertFalse
該欄位值為false
時,驗證才能通過。 -
@AssertTrue
該欄位值為true
時,驗證才能通過。 -
@DecimalMax
驗證小數的最大值。
@DecimalMax(value = "12.35")
private double money;
-
@DecimalMin
驗證小數的最小值。 -
@Digits
驗證數字的整數位和小數位的位數是否超過指定的長度。
@Digits(integer = 2, fraction = 2) private double money;
- @Future
驗證日期是否在當前時間之後,否則無法通過校驗。
@Future
private Date date;
-
@Past
驗證日期是否在當前時間之前,否則無法通過校驗。 -
@Pattern
用於驗證欄位是否與給定的正則相匹配。
@Pattern(regexp = "[abc]")
private String name;