Springboot之分組驗證以及自定義引數驗證

2021-10-05 23:47:53 字數 1954 閱讀 7785

springboot之前端引數驗證

學習完簡單的驗證之後發現基本能滿足百分之80的驗證需求,接下來深入學習下驗證。

分組驗證需要使用到@validated 這個註解,是spring基於@valid註解新增的功能。所以基本上在controller層接收引數的時候,可以用@validated註解替換@valid。不過@validated註解不能放在類中的字段上面,而@valid註解可以放在類中的字段上面。所以如果類中的某個字段不是基礎型別,但是裡面的引數需要校驗的話,需要在字段上面加上@valid **如下:

/**

* @author 海加爾金鷹

*/@data

public

class

testvo

/**

* @author 海加爾金鷹

*更新驗證組

*/public

inte***ce

update

extends

default

設定實體的驗證規則

@data

public

class

testvo

在controller進行驗證規則設定

("/id"

)public testvo gettestvo

(@requestbody

@validated

() testvo vo, bindingresult bindingresult)

) 表示只驗證update這個組。由於這個組繼承了預設default組 name也可以被驗證,如果是insert 就無法驗證。

//如果不配置 表示驗證預設組的資料

return vo;

}最後傳送請求進行驗證即可。

當自己的驗證規則比較奇特的時候,可以自定義驗證

第一步: 建立自定義驗證註解

/**

* @author 海加爾金鷹

* 注意@constraint(validatedby = phonevalidator.class) 這個註解 表明具體驗證規則在phonevalidator類裡面

*/@constraint

(validatedby = phonevalidator.

class

)@target()

@retention

(retentionpolicy.runtime)

@documented

public @inte***ce

phone

; class<

?extends

payload

>

payload()

default

;}

第二步建立具體驗證phonevalidator類

/**

* @author 海加爾金鷹

* @date 2020/5/11 17:52

* @apinote 手機號碼驗證

*/public

class

phonevalidator

implements

constraintvalidator

");@override

public

boolean

isvalid

(string s, constraintvalidatorcontext constraintvalidatorcontext)

return

true;}

}

第三步:和其他的驗證註解一樣使用即可

@phone

private string phone;

總結:基本上到這裡就能滿足百分之九十五的驗證需求。

SpringBoot 之分頁查詢

學習資料庫很久了,並且對於crud 增 刪 改 查 已經爛熟於心了,相信許多跟我一樣還天天對於資料庫的操作僅限於此的朋友們一定早已感到枯燥了,那麼我們趕緊進入話題,來談談分頁查詢的使用吧!基本上是第一次寫部落格,有錯的或是言語不當的地方還望多多指教,在此跪拜了 分頁查詢,就是將過多的結果再有限的頁面...

MongoDB系列之分組topN

collction last3有兩個字段 variable和timestamp,需要先按variable分組,選出每組文件中timestamp最晚的3個,再從這些文件中找到timestamp最早的1個。last3的部分資料如下 集算器 a1 連線mongodb,連線字格式為mongo ip port...

MySQL之分組選擇資料

用到的表 drop table ifexists friends 悟空朋友表 create table friends id int 3 not null,sql server中不能指定int長度 user name varchar 30 default null,type varchar 30 d...