Validator框架

Validator框架的第二个配置文件是validation.xml文件,这个文件是针对于某个具体Struts应用的,需

要开发人员来创建,它可以为应用中的ActionForm配置所需的验证规则,取代在ActionForm类中以编程

的方式来实现验证逻辑。
   (form-validation)
     (global)
      (constant)
          (constant-name)phone(/constant-name)
          (constant-value)^\d{8}\d*$(/constant-value)
       (/constant)
     (global)
   (formset)
      (form name="checkoutForm"
              (field
                  property="phone"
                  depends="required,mask,minlength")//此处没有配置(msg)说明在验证失败后,用

validato-rules中的消息文本。
             (arg0 key="label.phone"/) //没有name属性,说明这个参数适合所有验证,它填充消息

文本的第一个参数{0}.在资源文件中定义label.phone=????
             (arg1 name="minlength" key="$(var.minlength)" resource="false"/)//name属性说明

只对minlength验证有效,resource为false,说明消息填充用key属性值
             (var)
               (var-name)mask(/var-name)
               (var-value)${Phone}(/var-value)
             (/var)
             (var)
               (var-name)minlength(/var-name)
               (var-value)7(/var-value)
             (/var)
            (/field)
         (/form)
         (/formset)
    (/form-validation)
(form-validation)包含两个子元素:(global)和(formset),(global)元素中可以定义(constant)子元素

,它用来定义常量表达式,在文件的其余地方可以引用这些常量表达式,(formset)元素包含两个子元素

:(constant)(form).在(global)中定义的(constant)元素代表全局常量,而在(formset)元素中定义的

(constant)元素代表局部常量,后者只能在当前(formst)中使用。
 (fiedl)元素的(msg)子元素指定验证规则对应的消息文本。该消息文本将代替在validator-rules.xml

文件中为验证规则配置的默认的消息文本,例如:
     (field property="phone" depends="required,mask,minlength")
            (msg name="mask" key="phone.invalidFormat"/)
            .....
     (/field)
 以上代码的(msg)元素表明,当"mask"验证规则验证失败时,错误消息文本来自于ResourceBundle,消

息key为"phone.invalidformat".还有一个resource元素 当为true时,表示使用来自资源文件的消息,如

果为false,表示直接在KEY属性中设置消息文本,默认为true.
  (field)元素可以包含四个附加的子元素:(arg0)(arg1)(arg2)(arg3),用于替换复合消息中的参数,

(arg0)元素指定第一个替换值,(arg1)指定第二个值,依次类推,每个arg元素包含三个属性:

name,key,resource,这些属性的用法和(msg)元素很相似.
  validator插件
   为了在struts框架中使用validator,可以采用插件机制把validator加入到框架中,这需要在struts

配置文件中配置validatorpluIn插件:
    (plug-in className="org.apache.struts.validator.ValidatorPluIn")
       (set-property  property="pathnames"
          value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/)
    (/plug-in) 
Validator框架不能用于验证标准的 org.apache.struts.action.ActioForm类,如果要使用Validator框

架,应该采用ActionForm类的两个子类,org.apache.struts.validator.DynaValidatorForm和

org.apache.struts.validator.ValidatorForm.   DynaValidatorForm支持在动态ActonForm中使用

Validator框架,ValidatorForm支持在ActionForm中使用Validator框架。这两种配置Validator框架的

方式都是一样的。
如果对表单验证有两种规则,则需要validatorForm的一个子类ValidatorActionForm,而它在

validation.xml文件中(form)元素的name属性对应struts 配置文件的(action)元素的path属性。而

ValidatorForm对应(action)元素的name属性
Validator框架不能用于 验证标准的 org.apache.struts.action.ActionForm类。如果要使用Validator

框架,应该采用ActionForm类的两个子类。org.apache.struts.validator.DynaValidatorForm和

org.apache.struts.validator.ValidatorForm.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值