up !  calidator framwork 

解决方案 »

  1.   

    <field property="userName" depends="required,mask,minlength"> //声明三种比较规则depends里的,三种规则的描述在validator-rules.xml中可以找到,可以通过这个文件中的描述找到对应方法,自己解析源码
    只帮你分析一种规则:minlength
    <arg name="minlength" key="${var:maxlength}" resource="false" position="1"/> //定义的minlength方法会来查找这个arg节点(调用下面的参数)                <var>   //定义了一个minlength=5的节点
                      <var-name>minlength </var-name> 
                      <var-value>5 </var-value> 
                    </var> 
    实现过程,通过查看描述文字找到对应方法,可以看到:
    minlength方法通过field值和你这里传输进去的minlength做比较然后返回结果。不符合规则的报错信息不需要你来指定(resource="false"),即他的报错文字是直接提供不需要你去指定在某某properties的某某key
      

  2.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"><!--
    1、<form-validation>元素
    它包含两个子元素<global>和<formset>。<global>元素可以出现零次或多次,
    而<formset>元素可以出现一次或多次。
    2、<global>元素
    它包含<constant>子元素,它用来定义常量表达式,在文件的其余地方可以引用
    这些常量表达式。
    在<formset>元素中可以通过${constant-name}的形式来引用它们。
    3、<formset>元素
    它包括两个子元素,<constant>和<form>。
    4、<form>元素
    <form>子元素用于为表单验证规则,它的name属性指定了表单的名字,它包含了
    一个或多个<field>子元素
    5、<field>元素
    用于配置表单中字段的验证规则。它有两个属性:
    property:指定ActionForm Bean中需要进行验证的字段的名字
    depends:指定字段的验证规则,多个规则之间以豆号隔开。
    -->
    <form-validation>
    <global>
    <constant>
    <constant-name>password</constant-name>
    <constant-value>^\d{8}\d*$</constant-value>
    </constant>
    </global>
    <formset>
    <form name="loginForm">
    <field property="username" depends="required">
    <arg0 key="lable.username" />
    </field> <field property="password" depends="required,minlength">
    <arg0 key="lable.password" />
    <arg1 name="minlength" key="${var:minlength}"
    resource="false" />

    <var>
    <var-name>minlength</var-name>
    <var-value>7</var-value>
    </var>
    </field>
    </form>
    </formset>
    </form-validation>
      

  3.   


    1.Msg属性:msg属性指定来自于Resource Bundle中的消息key。当验证失败时,Validator框架将根据这个消息key到resource Bundle中查找匹配的消息文本。
    虽然你没有写 不过在validator-rules.xml已经存在
    2,是指的下面的。 因为她的resources是false所以就需要在下面进行定义而mask则不需要
    3.一个是直接用<msg>属性指定的Resource Bundle中的属性。另一个是通过属性把
      

  4.   

    validation的优势是后台数据校验,像这种校验字符的简单事情用js就足够了。