對於輸入校驗,struts2提供了兩種方式,1、使用validate方法;2、基於xml配置實現 。
支援校驗的action必須實現validateable介面,一般直接繼承actionsupport就可以了
public void validate()
if(mobile == null ||"".equals(this.mobile.trim()))else$").matcher(this.mobile).matches())
} super.validate();
}
public void validateupdate()
if(mobile == null ||"".equals(this.mobile.trim()))else$").matcher(this.mobile).matches())
}super.validate() ;
}
對這些錯誤資訊,在jsp頁面可以使用標籤來顯示
基於xml方式實現校驗時,action類也需要繼承actionsupport類,並且提供校驗檔案,校驗檔案同action類放在乙個包內,檔案的取名格式為:actionclassname-validation.xml,其中actionclassname為action類的簡單名字
true
使用者名稱不能為空
true
手機號不能為空
手機號格式不正確
位於xwork-2.0.4.jar壓縮包中(com.opensymphony.xwork2.validator.validators)有個檔案default.xml ,該檔案中定義了struts2框架內建的校驗器。default.xml檔案定義了常用的校驗器型別。
1、型別轉換檢驗器:
(1)非欄位校驗:
myfield
型別轉換錯誤
true
(2)字段校驗:
型別轉換錯誤
true
fieldname:該引數指定檢查是否存在轉換異常的欄位名稱,如果是字段校驗,則不用指定該引數。
repopulatefield:該引數指定當型別轉換失敗後,返回input頁面時,型別轉換失敗的表單是否保留原來的錯誤輸入。true為保留,false為不保留。
2、日期校驗器:
(1)非欄位校驗:
birthday
1990-01-02
2010-07-28
生日資料錯誤
(2)字段校驗:
1990-01-01
2010-07-28
min:指定字段日期值的最小值,該引數為可選引數。
max:指定字段日期值的最大值,該引數為可選引數。
3、浮點數值校驗器:
(1)非欄位校驗:
percentage
20.1
50.1
生日資料錯誤
(2)字段校驗:
20.1
50.1
mininclusive|minexclusive:指定欄位的最小值,包含該值|不包含該值。
maxinclusive|maxexclusive:指定欄位的最大值, 包含該值|不包含該值。
(1)非欄位校驗:
myemail
非法的郵件位址
(2)字段校驗:
非法的郵件位址
5、表示式校驗器:
.......
failed to meet ognlexpression...
expression:該引數為乙個邏輯表示式,該引數使用ognl表示式,並基於值棧計算,返回乙個boolean型別值。
6、字段表示式校驗器:
(1)非欄位校驗:
myfield
#mygirfriendcreditlimit]]>
my credit limit shouldbe more than my girlfriend
(2)字段校驗:
#mygirfriendcreditlimit]]>
my credit limitshould be more than my girlfriend
7、整數校驗器:
(1)非欄位校驗:
age
10100
年齡必須在在$到$之間
(2)字段校驗:
10
100年齡必須在在$到$之間
8、正規表示式校驗器:
(1)非欄位校驗:
mystrangepostcode
(2)字段校驗:
#mygirfriendcreditlimit]]>
my credit limitshould be more than my girlfriend
expression:為必選引數,指定匹配有的表示式。
casesensitive:指明進行匹配時,是否區分大小寫,為可選引數,預設為true。
9、必填校驗器:
(1)非欄位校驗:
username
使用者名稱不能為空
(2)字段校驗:
使用者名稱不能為空
10、必填字串校驗器:
(1)非欄位校驗:
username
true
使用者名稱不能為空
(2)字段校驗:
true
使用者名稱不能為空
11、字串長度校驗器:
(1)非欄位校驗:
username410
使用者名稱長度在$到$之間
(2)字段校驗:
4
10true
(1)非欄位校驗:
myhomepage
invalid homepageurl
(2)字段校驗:
invalid homepageurl
13、visitor校驗器:
該校驗器名稱為:visitor,用來校驗action中定義的復合型別屬性,支援簡單的復合型別、陣列型別、map等集合型別。
(1)非欄位校驗:
user
mycontext
(2)字段校驗:
mycontext
如果想自定義乙個自己的校驗器,可以在web工程的web-lib\lib目錄下增加乙個validators.xml配置檔案,在該檔案中定義自己的校驗器。
注意:如果使用validators.xml配置檔案,則系統預設的default.xml配置檔案不會載入,所以需要將default.xml的內容複製到validators.xml配置檔案中。否則不能使用系統內建的校驗器。
Struts2校驗之數字,日期校驗
struts2編寫驗證規則配置檔案驗證資料時,出現乙個問題,如果輸入的字段是字段是資料或日期時,比如說我的配置檔案中寫了這麼兩個驗證 輸入非數字資訊點提交時,出現的不是在配置檔案所定義的提示資訊,後來跟蹤 時發現org.apache.struts2.interceptor.strutsconvers...
Struts2框架的校驗器
struts2 框架系統內部已經註冊了內建的校驗器,可以開啟 struts2 的lib 包下的xwork.jar 包,在com opensymphony xwork2 validator validators 目錄下找到乙個 default.xml 配置檔案,該檔案中定義了 struts2 框架內建...
Struts2提供的校驗器
系統提供的校驗器如下 required 必填校驗器,要求field的值不能為null requiredstring 必填字串校驗器,要求field的值不能為null,並且長度大於0,預設情況下會對字串去前後空格 stringlength 字串長度校驗器,要求field的值必須在指定的範圍內,否則校驗...