快速业务通道

在无线J2ME设备上实现超文本传输协议 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

在Struts中使用Validator验证框架详解

时间:2011-02-28

Validatro框架以成为Jakarta的公共项目的一部分,可以从http://jakarta.apache.org/commons/下载单独的Validator框架,在Struts中已经呆了这个框架。

Validator主要依赖两个jar包

Jakarta-oro.jar:-提供一组处理文本的类,具有文本替换、过滤、和分割功能。

Commons-validator.jar:提供了一个简单、可扩展的验证框架,包含了通用的验证方法和验证规则。

在用Struts中用这个框架,需加入这两个包,用起来感觉还不错。

下面介绍一下。

Validator采用基于两个xml文件的方式来配置验证规则,分别为validation.xml,validator-rules.xml。在struts应用中,需放到web-inf目录下。

1.validator-rules.xml

这个文件包含了一组验证规则,对所有struts应用都适用。一般情况不用修改这个文件,除非要修改或扩展默认规则。如果要给应放到另一个xml文件中,而不是直接添加到validator-rules.xml文件中,这样当Validator升级时,不用修改validator-rules.xml文件。

2.validator.xml文件

这个文件是针对于具体struts应用的,他可以为应用中的ActionForm配置验证规则。而不用编码实现验证。

例如一个验证登陆form的例子,要求用户名必须填写,秘密要求必填、最大、最小长度及其内容的要求。

代码

<form-validation>    <global>      <!-- 密码由数字、26个英文字母或者下划线组成的字符串 -->      <constant>        <constant-name>pwd</constant-name>        <onstant-value>^\w+contentlt;/onstant-value>      </constant>    </global>    <formset>      <form name="loginForm">        <!-- 这里的用户名使用邮箱,验证时使用正则表达式进行验证 -->        <field property="user.userId" depends="required">          <arg0 key="user.userId" />        </field>        <field property="user.userPwd" depends="required,minlength,maxlength,mask">          <!-- msg name="mask" key="errors.invalid" /-->          <arg0 key="user.userPwd" />          <arg1 name="minlength" key="${var:minlength}" resource="false" />          <arg2 name="maxlength" key="${var:maxlength}" resource="false" />          <var>            <var-name>mask</var-name>            <var-value>^\w+contentlt;/var-value>          </var>          <var>            <var-name>minlength</var-name>            <var-value>6</var-value>          </var>          <var>            <var-name>maxlength</var-name>            <var-value>20</var-value>          </var>        </field>      </form>    </formset> </form-validation>

validator.xml和validator-rules.xml文件的语法不在这里说明。

在Struts中使用Validator验证框架详解(2)

时间:2011-02-28

3.Validator插件

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号