資料校驗 validated註解

2021-10-03 19:35:07 字數 1740 閱讀 4572

使用方法

建立實體bean

@data

public

class

oprstadelayfeeupdparam

extends

baseparam

建立controller

responseresult

updatedelayfeeinfo

(@requestbody

@validated oprstadelayfeeupdparam param)

;

responseresult

updatedelayfeeinfo

(@requestbody

@validated oprstadelayfeeupdparam param,bindingresult result)

;

當請求引數不滿足註解定義規範時,將直接返回錯誤提示;推薦使用第一種將錯誤資訊統一返回,不用每個介面都傳入bindingresult

註解介紹

註解說明

@null

限制只能為null

@notnull

限制必須不為nul

@assertfalse

限制必須為false

@asserttrue

限制必須為true

@decimalmax(value)

限制必須為乙個不大於指定值的數字

@decimalmin(value)

限制必須為乙個不小於指定值的數字

@digits(integer,fraction)

限制必須為乙個小數,且整數部分的位數不能超過integer,小數部分的位數不能超過fraction

@future

限制必須是乙個將來的日期

@max(value)

限制必須為乙個不大於指定值的數字

@min(value)

限制必須為乙個不小於指定值的數字

@past

限制必須是乙個過去的日期

@pattern(value)

限制必須符合指定的正規表示式

@size(max,min)

限制字元長度必須在min到max之間

@past

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

@notempty

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

@notblank

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

@email

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

@validated和@valiad的不同點

@validated 支援分組

註解位置: @validated可以用在方法引數,方法上,不能用在屬性上;@valiad可以直接用於屬性上

@valiad 支援巢狀校驗

@validated使用注意點

@validated 和@valid都可以用在controller層的引數前面,但只能再controller層生效

@validated 如果要開啟方法驗證;註解應該打在類上,而不是引數上

註解也可以用於方法返回值的校驗

不支援巢狀檢驗,如果要進行巢狀檢驗使用@valid對實體屬性進行修飾

Validated註解校驗

最近新專案是使用hibernate validator做表單驗證,遇到有id在更新時不能為空,而在新增時需要為空的情況,所有使用了group屬性來指定在什麼情況下使用哪個驗證規則,而在controller方法只使用 validated 來分組驗證 public apiresponsecreateus...

利用 Validated註解校驗引數

validated註解的使用 value updateclew method requestmethod.post apioperation value 修改線索內容 notes 修改線索內容 public result updatetwmclew validated requestbody api...

常用校驗註解

notblank 檢驗字串引數不能為空 notnull 校驗引數不能為null null 校驗引數為null notempty 字串不能為空,集合不能為空 size min 1,max 20 檢驗集合元素的個數是否滿足要求 email 檢驗引數是否是郵箱格式 pattern regexp a 使用正...