validator框架简单使用

struts框架在提供了validator 的验证框架,validator负责为页面的form提供数据验证,validator 提供了很多内置的验证规则,提供了灵活的配置验证规则
下面简单的介绍下怎么使用validate加入到你的页面中去

1)首先 你的 actionFrom 应该继承validatorfrom (或者validatrorActionFrom,为了不把这篇简单的介绍搞的那么复杂,下面这篇文章都使用validatorFrom。validatrorActionFrom 是 validatrorFrom 的一个子类,在使用上与validatorFrom 配置差不多,只有一点点区别。实际上就是一点点的区别决定了他们使用的位置不同)
由于validatorFrom 已经实现了validate 方法 。所以要求你把validate 方法删除 或者注释掉。

2)将validator-rules 里面的   # Struts Validator Error Messages 这句下面的 error 信息copy到你的资源文件中。jb里面默认的是ApplicationResources.properties 里面这些是validate框架默认的错误信息。虽然是可以改,但一般都是使用这个默认的错误信息
validator-rules 里提供了许多的默认验证规则为了让大家了解下这个xml文件。下面我尝试这分析下
一个节点
 <validator name="required"  ----验证的规则 对应validation 中的depends信息
            classname="org.apache.struts.validator.FieldChecks" --验证调用的类
            method="validateRequired"  ---验证类对应调用的方法
            methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       javax.servlet.http.HttpServletRequest"  --validateRequired的方法签名
           msg="errors.required"  --对应的错误信息 />

3)在validation里面增加验证信息每个需要验证的表单就增加一个<formset> 节点
还是老办法吧,分析一个简单的formset 节点吧。
<formset>
 <form name="actionForm">  --要验证的acrionFrom的名字 如果你的 from 是继承 validatorfrom,建议你到struts-config.xml里面对应的action的name属性的值copy过来
 <field property="username" depends="required,minlength"> --需要验证的字段名 depends 对应
validator-rules 的validator 的name 属性多个验证规则之间用","分割
 <arg0 key="prompt.username"/> --对应验证错误信息中的{0}的信息 key 的值你应该在ApplicationResources.properties 里面找到相应的key
 <arg1 key="${var:namemin}" name="minlength" resource="false"/> --key 对应的是下面那个var-name的值 name 对应的是你那个验证规则的参数 resource 表示你是否从配置文件中读取信息
 <var>
 <var-name>namemin</var-name> --动态参数
 <var-value>6</var-value> --配置的值
 </var>
 </field>
 </form>
</formset>
4)在struts-config 里面配置增加validate 插件

 <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>
加入到struts-config文件中

5)在你验证的页面上增加<html:errors/>标签

好了validator的服务器端验证就完成了。。当然你要使用确保你的表单提交是可以到达actionServlet。。。。

validator 还提供了客户端的javascript 验证,我尝试了下。虽然生成了js代码但是却没有调用js代码。真是郁闷哈。。

另外:动态的form 这么使用validator 框架进行验证。希望晓得的朋友交流下。。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值