一、常用校驗注解
空檢查
- @Null:限制只能為null
- @NotNull:限制必須不為null
- @NotEmpty:驗證注解的元素值不為null且不為空(字符串長度不為0、集合大小不為0)
- @NotBlank:驗證注解的元素值不為空(不為null、去除首位空格后長度為0),不同於@NotEmpty,@NotBlank只應用於字符串且在比較時會去除字符串的空格
Boolean檢查
- @AssertFalse:限制必須為false
- @AssertTrue:限制必須為true
長度檢查
- @Size(max, min):限制字符串、數組、集合長度范圍必須在min到max之間
- @Length(min=, max=):驗證注解的元素值長度在min和max區間內,只能用於字符串
日期檢查:Date/Calendar
- @Past:限制必須是一個過去的日期
- @Future:限制必須是一個將來的日期
- @Pattern(regexp="reg"):限制必須符合指定的正則表達式
數值檢查:建議使用在Stirng,Integer類型
- @Min(value):限制必須為一個不小於指定值的數字
- @Max(value):限制必須為一個不大於指定值的數字
- @DecimalMin(value):限制必須為一個不小於指定值的數字
- @DecimalMax(value):限制必須為一個不大於指定值的數字
- @Digits:驗證是否為數字
- @Digits(integer, fraction):限制必須為一個小數,且整數部分的位數不能超過integer,小數部分的位數不能超過fraction
- @Range(min=long1,max=long2):檢查數字是否在范圍min到max之間
其他驗證
- @Vaild:遞歸驗證,用於對象、數組和集合,會對對象的元素、數組的元素進行一一校驗
- @Email:用於驗證一個字符串是否是一個合法的右鍵地址,空字符串或null算驗證通過
- @URL(protocol=協議,host=主機,port=端口號,regexp=正則表達式,flags=標識):用於校驗一個字符串是否是合法URL
