本章講解springmvc中怎麼通過註解對表單引數進行驗證。
使用springboot,spring-boot-starter-web
會自動引入hiberante-validator
,validation-api
依賴。
在webmvcconfigureradapter
實現類裡面新增驗證器及國際化指定資源檔案。
@override
public validator getvalidator()
@bean
public messagesource messagesource()
接收引數的表單類:
public
class
loginform ")
@size(min = 4, max = 20, message = "")
private string loginname;
@notnull(message = "")
@size(min = 8, max = 20, message = "")
private string loginpassword;
public string getloginname()
public
void
setloginname(string loginname)
public string getloginpassword()
public
void
setloginpassword(string loginpassword)
}
在要驗證的字段上面加入驗證註解,更多參考validation-api
jar包下的j**ax.validation.constraints
包。
springmvc控制器:
public string login(@validated loginform form)
使用@validated
註解表示該引數需要驗證。
message裡面{}
引用的是國際化的資源。
新增國際化資源檔案:
validationmessages.properties
validationmessages_zh_cn.properties
需要指定編碼為ascii
,不然會亂碼。
異常全域性處理時進行處理:
@controlleradvice
public class exceptionresolver
...}
}
或者在驗證的類後面加bindingresult
,錯誤資訊都會放在該物件裡面,而不會丟擲異常。如:
public string login(@validated loginform form, bindingresult bindingresult)
推薦閱讀
面經:史上最全j**a多執行緒面試題及答案
面經:史上最全阿里高階j**a面試題
面經:史上最全spring面試題
書籍:高階j**a架構師必看的15本書
SpringMVC 表單驗證
表單驗證 null 被注釋的元素必須為 null notnull 被注釋的元素必須不為 null asserttrue 被注釋的元素必須為 true assertfalse 被注釋的元素必須為 false min value 被注釋的元素必須是乙個數字,其值必須大於等於指定的最小值 max valu...
Spring MVC表單驗證
看登入控制器 引數userentity user就是從表單接收到的引數,這個引數前面加了 validated表示這個引數是需要驗證的,而驗證的結果,則儲存在bindingresult result中,所以接下來的 if result.haserrors 就判斷,如果表單校驗不通過,則跳轉回表單編輯頁...
python表單驗證 表單驗證
django有乙個form類為我們提供了強大的表單驗證提交。1 建立form from django import forms class commentform forms.form name forms.charfield label 您的姓名 max length 100 email form...