Valid常用註解及使用方法

2021-10-08 08:10:41 字數 2542 閱讀 6384

二、常用註解

三、@validated和@valid區別

主要用於表單驗證,驗證註解是否符合要求,直接加在controller變數之前,在變數中新增驗證資訊的要求,當不符合要求時就會在方法中返回message 的錯誤提示資訊.
(

"/addft"

)public response addft

(@requestbody

@valid ftinfo ftinfo)

@data

@allargsconstructor

@noargsconstructor

public

class

registeruser

@slf4j

@restcontrolleradvice

public

class

exceptionhandler

", e.

getbindingresult()

.getfielderror()

.getdefaultmessage()

);return response.

error

(resultcode.param_required, e.

getbindingresult()

.getfielderror()

.getdefaultmessage()

);}}

@data

@jsoninclude

(jsoninclude.include.non_null)

public

class

response

/*** 用於錯誤處理

* @param code 錯誤碼

* @param message 錯誤提示資訊

*/public

response

(integer code,string message)

public

static response

error

(integer code,string msg)

}

public

enum resultcode

resultcode

(int code, string message)

public

intgetcode()

public string getmessage()

}

限制

說明@null

限制只能為null

@notnull

限制必須不為null,一般用來校驗integer型別不能為空

@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),一般用來校驗list型別不能為空

@notblank

驗證註解的元素值不為空(不為null、去除首位空格後長度為0),一般用來校驗string型別不能為空,不同於@notempty,@notblank只應用於字串且在比較時會去除字串的空格

@email

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

@validated:

(1)可以用在型別、方法和方法引數上,但是不能用在成員屬性(字段)上。

(2)提供了乙個分組功能,可以在入參驗證時,根據不同的分組採用不同的驗證機制

(3)用在方法入參上無法單獨提供巢狀驗證功能。不能用在成員屬性(字段)上,也無法提示框架進行巢狀驗證。能配合巢狀驗證註解@valid進行巢狀驗證。

@valid:

(1)可以用在方法、建構函式、方法引數和成員屬性(字段)上

(2)用在方法入參上無法單獨提供巢狀驗證功能。能夠用在成員屬性(字段)上,提示驗證框架進行巢狀驗證。能配合巢狀驗證註解@valid進行巢狀驗證。

Spring常用註解及使用方法

用於建立物件的 component 元件式註解,通常放在model類.repository 通常放在dao層的實現類上.service 通常放在service的實現類上 controller 通常放在controller類 ps 上述四個註解的作用一樣,只不過是在不同的層面使用不同的註解,以示區分....

Valid註解的使用

在實體類上打上註解 data public class user2.在controller上加上註解 valid,進行引數校驗 public string testuser requestbody valid user user,bindingresult bindingresult return ...

Valid註解與使用

valid用於檢驗變數的值是否符合設定好的規則。可以簡化校驗,減少if else的 量 通常與 requestbody一起使用,接收傳入的json並對json轉換到pojo的值進行檢驗 requestbody valid 或者 valid requestbody都可以 然後在方法中常常使用bindi...