【原創】Struts1.x系列教程(12):Validator驗證框架的內建標準驗證

銀河使者發表於2009-02-24
本文為原創,如需轉載,請註明作者和出處,謝謝!

Struts2教程4:使用validate方法驗證資料

Struts2教程5:使用Validation框架驗證資料

下面列出了Validator框架的預定義驗證(Struts的版本號為1.2.9)。

Validator

變數

引發條件

required


欄位只有空格

validwhen

test

test條件失敗(詳見下一節)

minlength

minlength

欄位的字元數小於minlength

maxlength

maxlength

欄位的字元數大於maxlength

mask

mask

欄位值不匹配mask所指的個正規表示式

byteshortintegerlongfloatdouble


欄位值無法轉換為這些資料型別

date

datePattern

datePatternStrict

字值值不能按著指定的格式轉換為日期型別

intRangefloatRangedoubleRange

minmax

欄位值不在指定的範圍內

creditCard


欄位值不是一個信譽卡號

email


欄位值不是一個合法的email

url

allowallschemes

allow2slashes

nofragments

schemes

欄位不是一個URL

關於Validator框架標準驗證的詳細資訊,讀者可以訪問如下的URL  

http://struts.apache.org/1.2.9/userGuide/dev_validator.html

    下面來舉一個validwhen驗證的例子。
    validwhen可以驗證當前屬性和其他屬性的關係,如在驗證密碼時,要保證兩次輸入的密碼一致,驗證程式碼如下:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt<field property="password1" depends="validwhen">
    <msg name="validwhen" key="error.password1.confirmation" />
   
<var>
       
<var-name>testvar-name>
       
<var-value>
            (password1!= null) and (*this* == password)
       
var-value>
   
var>
field>

    使用validwhen也可以驗證巢狀和索引屬性,如下面的程式碼所示:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt<field property="field1" depends="validwhen">
    <msg name="validwhen" key="error.field.message" />
   
<var>
       
<var-name>testvar-name>
       
<var-value>
            (*this* == field2.name) and (*this* != field3[1])
       
var-value>
   
var>
field>

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4     其中*this*表示當前屬性的值。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-557621/,如需轉載,請註明出處,否則將追究法律責任。

相關文章