struts2客戶端校驗器詳解

2021-09-22 21:10:39 字數 2662 閱讀 6039

一、struts2內建校驗器

位於xwork-2.0.4.jar壓縮包中( com.opensymphony.xwork2.validator.validators)有個檔案default.xml ,該檔案中定義了struts2框架內建的校驗器。default.xml檔案定義了常用的校驗器型別。

二、各種型別校驗器

1、型別轉換檢驗器:

(1)非欄位校驗:

myfield

型別轉換錯誤

true

(2)字段校驗:

型別轉換錯誤

true

2、日期校驗器:

(1)非欄位校驗:

birthday

1990-01-02

2010-07-28

生日資料錯誤

(2)字段校驗:

1990-01-01

2010-07-28

3、浮點數值校驗器:

(1)非欄位校驗:

percentage

20.1

50.1

生日資料錯誤

(2)字段校驗:

20.1

50.1

4

(1)非欄位校驗:

myemail

非法的郵件位址

(2)字段校驗:

非法的郵件位址

5、表示式校驗器:

.......

failed to meet ognl expression...

6、字段表示式校驗器:

(1)非欄位校驗:

myfield

#mygirfriendcreditlimit]]>

my credit limit should be more than my girlfriend

(2)字段校驗:

#mygirfriendcreditlimit]]>

my credit limit should be more than my girlfriend

7、整數校驗器:

(1)非欄位校驗:

age 10

100

年齡必須在在$到$之間

(2)字段校驗:10

100

年齡必須在在$到$之間

8、正規表示式校驗器:

(1)非欄位校驗:

mystrangepostcode

(2)字段校驗:

#mygirfriendcreditlimit]]>

my credit limit should be more than my girlfriend

9、必填校驗器:

(1)非欄位校驗:

username

使用者名稱不能為空

(2)字段校驗:

使用者名稱不能為空

10、必填字串校驗器:

(1)非欄位校驗:

username

true

使用者名稱不能為空

(2)字段校驗:

true

使用者名稱不能為空

11、字串長度校驗器:

(1)非欄位校驗:

username 4

10使用者名稱長度在$到$之間

(2)字段校驗:4

10 true

12

(1)非欄位校驗:

myhomepage

invalid homepage url

(2)字段校驗:

invalid homepage url

13visitor校驗器:

該校驗器名稱為:visitor,用來校驗action中定義的復合型別屬性,支援簡單的復合型別、陣列型別、map等集合型別。

(1)非欄位校驗:

user

mycontext

(2)字段校驗:

mycontext

如果想自定義乙個自己的校驗器,可以在web工程的web-lib\lib目錄下增加乙個validators.xml配置檔案,在該檔案中定義自己的校驗器。

注意:如果使用validators.xml配置檔案,則系統預設的default.xml配置檔案不會載入,所以需要將default.xml的內容複製到validators.xml配置檔案中。否則不能使用系統內建的校驗器。 

struts2的客戶端驗證

struts2同樣支援客戶端驗證 1.struts2標籤的form的主題 theme 一定不能設為 2.將form的validate屬性設為true。這樣客戶端就會根據相應的action的xml驗證檔案產生乙個js對客戶端進行驗證。一般開發中只使用struts2的服務端驗證,而不使用struts2的...

Struts2 獲取客戶端請求引數

struts2是乙個優秀的mvc model view controller 框架,其中客戶端請求引數在mvc架構中作為model的屬性存在。struts2框架有兩種方式獲取客戶端請求的引數。1 通過屬性驅動的方式獲取客戶端請求的引數 將action類作為model的方式 1 將pojo類作為act...

struts2伺服器端校驗

struts2框架自己封裝了執行資料校驗的方法 在我們自己的封裝的action類中extends actionsupport 類 重寫validate 方法,在方法中可以根據傳入的物件資訊來制定校驗規則 override public void validate 需要注意的是如果設定了返回錯誤資訊,...