下面列出了Validator框架的預定義驗證(Struts的版本號為1.2.9)。
Validator 變量 引發條件 required 字段只有空格 validwhen test test條件失敗(詳見下一節) minlength minlength 字段的字符數小於minlength maxlength maxlength 字段的字符數大於maxlength mask mask 字段值不匹配mask所指的個正則表達式 byte、short、integer、long、float、double 字段值無法轉換為這些數據類型 date datePattern 或datePatternStrict 字值值不能按著指定的格式轉換為日期類型 intRange、floatRange、doubleRange min、max 字段值不在指定的范圍內 creditCard 字段值不是一個信譽卡號 email 字段值不是一個合法的email url allowallschemes、關於Validator框架標准驗證的詳細信息,讀者可以訪問如下的URL:
http://struts.apache.org/1.2.9/userGuide/dev_validator.html
下面來舉一個validwhen驗證的例子。
validwhen可以驗證當前屬性和其他屬性的關系,如在驗證密碼時,要保證兩次輸入的密碼一致,驗證代碼如下:
<field property="password1" depends="validwhen">
<msg name="validwhen" key="error.password1.confirmation" />
<var>
<var-name>test</var-name>
<var-value>
(password1!= null) and (*this* == password)
</var-value>
</var>
</field>
使用validwhen也可以驗證嵌套和索引屬性,如下面的代碼所示:
<field property="field1" depends="validwhen">
<msg name="validwhen" key="error.field.message" />
<var>
<var-name>test</var-name>
<var-value>
(*this* == field2.name) and (*this* != field3[1])
</var-value>
</var>
</field>
其中*this*表示當前屬性的值。