1. 程式人生 > >java 使用註釋校驗數據有效性

java 使用註釋校驗數據有效性

spa 元素 java 業務 lmin als 類庫 sequence 數據

驗證註解

驗證的數據類型

說明

空檢查

@Null

任意類型

驗證註解的元素值是null

@NotNull

任意類型

驗證註解的元素不是null

@NotBlank

CharSequence子類型(CharBuffer、String、StringBuffer、StringBuilder)

驗證註解的元素值不為空(不為null、去除首尾空格後長度不為0),不同於@NotEmpty,@NotBlank只應用於字符串且在比較時會去除字符串的首尾空格

@NotEmpty

CharSequence子類型、Collection、Map、數組

驗證註解的元素值不為null且不為空(字符串長度不為0、集合大小不為0)

Boolean檢查

@AssertFalse

Boolean,boolean

驗證註解的元素值是false

@AssertTrue

Boolean,boolean

驗證註解的元素值是true

長度檢查

@Size(min=下限, max=上限)

字符串、Collection、Map、數組等

驗證註解的元素值的在min和max(包含)指定區間之內,如字符長度、集合大小

@Length(min=下限, max=上限)

CharSequence子類型

驗證註解的元素值長度在min和max區間內

日期檢查

@Past

java.util.Date,java.util.Calendar;Joda Time類庫的日期類型

驗證註解的元素值(日期類型)比當前時間早

@Future

與@Past要求一樣

驗證註解的元素值(日期類型)比當前時間晚

數值檢查

@MIN(value=值)

BigDecimal,BigInteger, byte,short, int, long,等任何Number或CharSequence(存儲的是數字)子類型

驗證註解的元素值大於等於@Min指定的value值

@MAX(value=值)

和@Min要求一樣

驗證註解的元素值小於等於@Max指定的value值

@DecimalMin(value=值)

和@Min要求一樣

驗證註解的元素值大於等於@ DecimalMin指定的value值

@DecimalMax(value=值)

和@Min要求一樣

驗證註解的元素值小於等於@ DecimalMax指定的value值

@Digits(integer=整數位數, fraction=小數位數)

和@Min要求一樣

驗證註解的元素值的整數位數和小數位數上限

@Range(min=最小值, max=最大值)

BigDecimal,BigInteger,CharSequence, byte, short, int, long等原子類型和包裝類型

驗證註解的元素值在最小值和最大值之間

其他檢查

@Valid

任何非原子類型

指定遞歸驗證關聯的對象;如用戶對象中有個地址對象屬性,如果想在驗證用戶對象時一起驗證地址對象的話,在地址對象上加@Valid註解即可級聯驗證

@Pattern(regexp=正則表達式,flag=標誌的模式)

CharSequence的子類型

驗證註解的元素值與指定的正則表達式匹配

@Email(regexp=正則表達式,flag=標誌的模式)

CharSequence的子類型

驗證註解的元素值是Email,也可以通過regexp和flag指定自定義的email格式

@CreditCardNumber

CharSequence的子類型

驗證註解元素值是信用卡卡號

@ScriptAssert(lang= ,script=)

業務類

校驗復雜的業務邏輯

java 使用註釋校驗數據有效性