JAVA認(rèn)證:Validator驗(yàn)證框架的內(nèi)置標(biāo)準(zhǔn)驗(yàn)證

字號(hào):

下面列出了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)前屬性的值