在
xwork-2.0.4.jar
包中,請讀者在
\com\opensymphony\xwork2\validator\validators
路徑下找乙個名字為「
default.xml
」的xml
檔案。在該檔案中有所有
struts2
自帶的輸入校驗器定義。具體**如下:
以上**是所有
struts2
輸入校驗器的定義,下面將這些輸入校驗器(一共有
13個)的字段和非欄位格式的校驗形式寫在如下,本例中沒有程式**示例,所有輸入校驗器的應用**都是筆者自己定義的。當校驗檔案的取名為actionclassname-validation.xml時,會對 action中的所有處理方法實施輸入驗證。如果你只需要對action中的某個action方法實施校驗,那麼,校驗檔案的取名應為:actionclassname-actionname-validation.xml,其中actionname為struts.xml中action的名稱。
field
請輸入資料
請輸入資料
field
true
請輸入資料
true
請輸入資料
field180
數字必須在$-$歲之間
180數字必須在$-$歲之間
field
0.110.1
輸入浮點無效
0.110.1
輸入浮點無效
field
2009-01-01
2019-01-01
日期無效
2009-01-01
2019-01-01
日期無效
password==repassword
兩者輸入不一致
password==repassword
兩者輸入不一致
兩者輸入不一致
field
非法郵件位址
非法郵件位址
field
無效**
無效**
field
fieldcontext
輸入校驗
fieldcontext
輸入校驗
field
型別轉換錯誤
型別轉換錯誤
field110
true
字串長度必須為10位
110true
字串長度必須為10位
field
手機號碼必須為數字並且是11位
手機號碼必須為數字並且是11位
**解釋(1
)必填校驗器
required
是用來判斷輸入的字段是否為空。如果未輸入任何資料則會顯示錯誤資訊。
fieldname
屬性是指定校驗的欄位名。這個屬性是所有
struts2
自帶的輸入校驗器都具有的屬性。因此介紹其他輸入校驗器時,筆者略過不談。但是讀者自己要知道該屬性是輸入校驗器共有的。該校驗器其他標籤都和前幾章節中有過介紹,筆者也略過不談。 (
2)必填字串校驗器
requiredstring
用來判斷輸入字段是否是
1個非空字串
。如果不是也顯示錯誤資訊。其中的
trim
屬性是在校驗之前對字串進行處理。預設是「
true」。
(3)整數校驗器
int判斷輸入的字段資料是在乙個整數範圍內。
min屬性是最小值,
max是最大值。
標籤內可用「
$」格式類表示他們具體的值。 (
4)浮點校驗器
double是t
判斷輸入的字段資料是在
1個浮點數範圍內。
mininclusive
表示這個範圍的最小值。
max inclusive
表示這個範圍的最大值。還有
minexclusive
和maxexclusive
兩個屬性,前者表明在浮點範圍之外的最小值,後者是在浮點範圍之外的最大值。
注意:以上四個屬性如果沒有宣告,則輸入校驗不會去檢查。(5
)日期校驗器
date
判斷輸入的字段的日期值是否在
1個日期範圍內。
min是該範圍的最小值,
max是最大值。他們兩個屬性也和浮點校驗器的四個屬性相同,如果沒有宣告則輸入校驗不檢查。 (
6)表示式校驗器
expression
只有非欄位校驗格式。不能在字段校驗中宣告。它的屬性也是
expression
。如**所示開發者可以使用
ognl
表示式來定義校驗規則。 (
7)字段表示式校驗器
fieldexpression
判斷字段是否滿足乙個表示式。如**所示,當用來判斷輸入的密碼和確認密碼值是否一致就可以使用該校驗器。它的屬性
expression
和表示式校驗器相同。不過它可以用在字段校驗中。 (
8)郵件校驗器
來判斷輸入的字段是1個
時候是否符合
的格式。 (
9)**校驗器
ur l
來判斷輸入的字段是
1個**時候是否符合**的格式。 (
10)visitor
校驗器就是判斷集合型別的字段。前面章節有所介紹。這裡在重申一下
context
屬性是可以應用的集合型別中元素物件的別名。
屬性是指定在錯誤資訊中前面是否加上特定字首。該字首內容可在
標籤中定義。另外這兩個屬性也是沒有宣告時候,校驗器不會去執行檢查。 (
11)型別轉換校驗器
conversion
用來判斷輸入字段是否進行型別轉換。它有1個
repopulatefield
屬性,如果為「
true
」表明如果發生型別轉換錯誤,返回到
struts.xml
中指定的
action
的input
檢視介面時候還是否把原來錯誤的輸入內容顯示出來。「
false
」則相反。從這也可以看出筆者一直堅持的觀點型別轉換也屬於輸入校驗的一種是有理論依據的。 (
12)字串長度校驗器
stringlength
用於判斷輸入的字串長度是否是指定的長度範圍。其中
minlength
是最小字串長度,
maxlength
是最大字串長度。
trim
屬性和上述必填字串校驗器
requiredstring
中trim
屬性擁有相同功能。這三者也是屬於不宣告則不執行檢查的可選屬性。 (
13)正規表示式校驗器
regex
檢查字段輸入值是否和
1個正規表示式匹配。
expression
屬性中內容就是該正規表示式。還有個
casesensitive
屬性,為「
true
」則表明匹配時候對字母大小寫敏感。反之則不敏感。如**所示筆者用了
1個判斷輸入的值是否是
11位,全部由數字組成的正規表示式。對於輸入手機號碼資料的字段,該校驗規則是最適用的。
struts2 系統預設校驗器大全
在 xwork 2.0.4.jar 包中,請讀者在 com opensymphony xwork2 validator validators 路徑下找乙個名字為 default.xml 的xml 檔案。在該檔案中有所有 struts2 自帶的輸入校驗器定義。具體 如下 以上 是所有 struts2 ...
Struts 2 之校驗器
對於輸入校驗,struts2提供了兩種方式,1 使用validate方法 2 基於xml配置實現 支援校驗的action必須實現validateable介面,一般直接繼承actionsupport就可以了 public void validate if mobile null equals this...
Struts2框架的校驗器
struts2 框架系統內部已經註冊了內建的校驗器,可以開啟 struts2 的lib 包下的xwork.jar 包,在com opensymphony xwork2 validator validators 目錄下找到乙個 default.xml 配置檔案,該檔案中定義了 struts2 框架內建...