点击这里给我发消息 点击这里给我发消息

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

添加时间:2013-12-7
    相关阅读: 框架 项目

    Validator框架已成为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+$</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+$</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文件的语法不在这里说明。

[1] [2] [3] 下一页

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册