Validated註解校驗

2021-09-26 21:13:06 字數 727 閱讀 4106

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

public apiresponsecreateuser(@validated() @requestbody userdto userdto) ", userdto);

if (userrepository.findonebyloginname(userdto.getloginname().tolowercase()).ispresent()) else

}但是出現其他欄位不執行驗證的問題,找了一大圈,發現@validated在分組驗證時並沒有新增default.class的分組,而其他字段預設都是default分組,所以需要讓分組介面繼承default:

public inte***ce creation extends default

常見的校驗類別註解見下表:

(2)integer型別定義成notempty報錯

原因:@notempty一般適用於集合類、string、array的校驗;@notnull可適用於任意物件。

integer使用@notnull校驗就行

(3)string型別字段,null能捕獲校驗,但「」空字串未捕獲校驗

被自己蠢哭。原因:使用了@notempty只校驗了null,使用@notblank即可

資料校驗 validated註解

使用方法 建立實體bean data public class oprstadelayfeeupdparam extends baseparam 建立controller responseresult updatedelayfeeinfo requestbody validated oprstade...

利用 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 使用正...