SpringMVC 實體類引數校驗

2021-10-06 04:03:56 字數 1861 閱讀 8248

前端後端進行互動時,前端上送的引數校驗,簡單的通過註解實現,方便快捷,而不需要再次開發**邏輯;

1,引數校驗的前提是controller層的方法裡需使用@valid開啟校驗

("/test"

)public string test

(@valid

@requestbody student stu)

2,用於校驗的註解

註解說明

空檢查

@null

驗證物件是否為null

@notnull

驗證物件是否不為null, 無法查檢長度為0的字串

@notblank

檢查約束字串是不是null還有被trim的長度是否大於0,只對字串,且會去掉前後空格.(只能使用在字串的校驗上 )

@notempty

檢查約束元素是否為null或者是empty.

booelan檢查

@asserttrue

驗證 boolean 物件是否為 true

@assertfalse

驗證 boolean 物件是否為 false

長度檢查

@size(min=, max=)

驗證物件(array,collection,map,string)長度是否在給定的範圍之內

@length(min=, max=)

一般用於校驗字串的長度

日期檢查

@past

驗證 date 和 calendar 物件是否在當前時間之前

@future

驗證 date 和 calendar 物件是否在當前時間之後

數值檢查

@min

驗證 number 和 string 物件是否大等於指定的值

@max

驗證 number 和 string 物件是否小等於指定的值

@decimalmax

被標註的值必須不大於約束中指定的最大值. 這個約束的引數是乙個通過bigdecimal定義的最大值的字串表示.小數存在精度

@decimalmin

被標註的值必須不小於約束中指定的最小值. 這個約束的引數是乙個通過bigdecimal定義的最小值的字串表示.小數存在精度

@digits

驗證 number 和 string 的構成是否合法

@digits(integer=,fraction=)

驗證字串是否是符合指定格式的數字,interger指定整數精度,fraction指定小數精度。

@range(min=, max=,message=「range.bean.wage」)

checks whether the annotated value lies between (inclusive) the specified minimum and maximum.

其他

@pattern

驗證 string 物件是否符合正規表示式的規則

@creditcardnumber

信用卡驗證

@email

驗證是否是郵件位址,如果為null,不進行驗證,算通過驗證。

@scriptassert(lang= ,script=, alias=)

@url(protocol=,host=, port=,regexp=, flags=)

3.簡單運用

@data

public

class

order

建立實體類

下面直奔今天的主題 建立實體類 一點小插曲 接觸abp框架之前,一直都是使用的ef的dbfirst,在那種模式下,我們只要設計好資料庫,然後直接通過模板就生成了實體層,甚至都沒怎麼留意實體層的 是什麼樣子。現在要使用codefirst,就要反過來,先要寫 了,真有點不適應。好吧,為了學好abp,也要...

request 接收全部引數轉為實體類

param request param beanclass description 接收request全部引數轉換實體累 轉換 beanutils.populate bean,map return bean catch exception e return null param request pa...

字典實體類 DictionaryEntry類

dictionaryentry類是乙個字典集合,主要包含的內容是鍵 值對。這種組合方式可以方便地定位資料,其中的 鍵 具備唯一性,類似於資料庫中的 id 乙個id對應一天記錄,而乙個鍵只對應乙個值。使用dictionaryenry類可以方便地設定和檢索資料。雖然被稱為字典集合,但dictionary...