`
wangyun
  • 浏览: 120734 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Validator框架

阅读更多
可以使用Validator框架对Struts 1.1的表单进行验证。为何使用Validator框架对表单进行验证而不使用ActionForm的validate方法对表单进行验证呢?
ActionForm的validate方法对表单进行验证的方式有三个局限:
1)必须通过程序代码来实现验证逻辑
2)代码的可重用性低
3)必须在服务器端进行表单的验证
而Validator框架确克服了上述的局限,且它同样对国际化进行支持。


在struts中要使用Validator框架首先需要两个jar文件:jakarta-oro.jar和commons-validator.jar和两个XML文件:validator-rules.xml和validation.xml。

Validator的XML文件说明:
1)validator-rules.xml文件:用于定义验证表单字段的验证规则。
2)validation.xml文件:对表单字段定义验证规则。


Validator的JavaScript使用:
Validator框架一般在服务器端执行表单的验证,但可以通过使用JavaScript可以让表单验证在客户端执行。

使用说明:
1)通过<html:script>标签生成表单验证的JavaScript方法
在这里我想具体说明下<html:script>如何生成表单验证的JavaScript方法。
1)创建全局变量var bCanel,该变量用于控制是否验证表单。但是该值不受struits-config.xml文件的<action>节点的validate属性控制。(不知道如可控制该值,使其为true不验证表单,如有知道者请告诉在下,谢谢)
2)创建表单验证方法。方法名由validateXXX(表单名称,即对应validation.xml文件的<form>节点的name属性值)
3)创建规则对象。规则对象的名称对应validator-rules.xml文件的<validator>节点的name属性值。规则对象包含1个或多个属性,这些属性都是一个长度为3的数组,数组第一位存放着表单字段名称(该表单字段使用这个验证规则)。数组第二位存放该表单字段验证失败的信息。数组第三位(最后一位)存放显示失败信息的方法并且在方法中存放着验证表单字段的参数,如验证表单字段的最小长度时,方法中将存放最小长度这个参数,用于表单字段的验证。参数名称由validation.xml文件的<var-name>节点定义。
4)生成在validator-rules.xml文件的<javascript>节点定义的javascript验证表单方法。
5)在<html:form>标签中添加onsumbit属性,其值为"return validateXXX(this);"。

注:虽然客户端使用了JavaScript对表单字段进行验证,但在服务器还是要根validator-rules.xml文件中定义验证规则对表单字段进行再一次的验证!


struts1.1如何使用Validator框架
通过struts的插件形式,可以在struts1.1中Validator框架验证ActionForm字段。(在struts-config.xml文件中配置<plug-in>节点),并且表单验证错误信息需要在资源文件中进行相应的添加。
注:自己定义的验证规则可以写在自己的文件中,然后在struts-config.xml文件的<plug-in>节点的子结点<set-property>的property属性值为pathnames中设置。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics