下面列出了Validator框架的預(yù)定義驗(yàn)證(Struts的版本號(hào)為1.2.9)。 Validator
變量
引發(fā)條件
required
字段只有空格
validwhen
test
test條件失?。ㄔ斠?jiàn)下一節(jié))
minlength
minlength
字段的字符數(shù)小于minlength
maxlength
maxlength
字段的字符數(shù)大于maxlength
mask
mask
字段值不匹配mask所指的個(gè)正則表達(dá)式
byte、short、integer、long、float、double
字段值無(wú)法轉(zhuǎn)換為這些數(shù)據(jù)類型
date
datePattern 或
datePatternStrict
字值值不能按著指定的格式轉(zhuǎn)換為日期類型
intRange、floatRange、doubleRange
min、max
字段值不在指定的范圍內(nèi)
creditCard
字段值不是一個(gè)信譽(yù)卡號(hào)
email
字段值不是一個(gè)合法的email
url
allowallschemes、
allow2slashes、
nofragments、
schemes
字段不是一個(gè)URL
關(guān)于Validator框架標(biāo)準(zhǔn)驗(yàn)證的詳細(xì)信息,讀者可以訪問(wèn)如下的URL:
http://struts.apache.org/1.2.9/userGuide/dev_validator.html
下面來(lái)舉一個(gè)validwhen驗(yàn)證的例子。
validwhen可以驗(yàn)證當(dāng)前屬性和其他屬性的關(guān)系,如在驗(yàn)證密碼時(shí),要保證兩次輸入的密碼一致,驗(yàn)證代碼如下:
test
(password1!= null) and (*this* == password)
使用validwhen也可以驗(yàn)證嵌套和索引屬性,如下面的代碼所示:
test
(*this* == field2.name) and (*this* != field3[1])
其中*this*表示當(dāng)前屬性的值
變量
引發(fā)條件
required
字段只有空格
validwhen
test
test條件失?。ㄔ斠?jiàn)下一節(jié))
minlength
minlength
字段的字符數(shù)小于minlength
maxlength
maxlength
字段的字符數(shù)大于maxlength
mask
mask
字段值不匹配mask所指的個(gè)正則表達(dá)式
byte、short、integer、long、float、double
字段值無(wú)法轉(zhuǎn)換為這些數(shù)據(jù)類型
date
datePattern 或
datePatternStrict
字值值不能按著指定的格式轉(zhuǎn)換為日期類型
intRange、floatRange、doubleRange
min、max
字段值不在指定的范圍內(nèi)
creditCard
字段值不是一個(gè)信譽(yù)卡號(hào)
字段值不是一個(gè)合法的email
url
allowallschemes、
allow2slashes、
nofragments、
schemes
字段不是一個(gè)URL
關(guān)于Validator框架標(biāo)準(zhǔn)驗(yàn)證的詳細(xì)信息,讀者可以訪問(wèn)如下的URL:
http://struts.apache.org/1.2.9/userGuide/dev_validator.html
下面來(lái)舉一個(gè)validwhen驗(yàn)證的例子。
validwhen可以驗(yàn)證當(dāng)前屬性和其他屬性的關(guān)系,如在驗(yàn)證密碼時(shí),要保證兩次輸入的密碼一致,驗(yàn)證代碼如下:
(password1!= null) and (*this* == password)
使用validwhen也可以驗(yàn)證嵌套和索引屬性,如下面的代碼所示:
(*this* == field2.name) and (*this* != field3[1])
其中*this*表示當(dāng)前屬性的值