我感觉,没必要再做一次服务器的验证,有了js的客户端验证应该就可以了~
struts虽然提供的验证框架!如果在客户端做了一次验证,再在服务器端又做
我觉得没必要!当然服务器验证是更安全了!

解决方案 »

  1.   

    天天写validator验证文件, 仔细瞅了你的文件, 说实话,没有发现什么问题.
    我觉得你的field 名字是max, 然后你定义的var也叫做max, 我不知道会不会引起冲突, 
    我先下去做demo, 然后给你答服.
    还没有struts环境, 还需要一会儿.
      

  2.   

    我靠, csdn昨晚发贴居然抛错出来.废了好大功夫搭建struts, 然后写demo, 基本认为是你定义的var引起冲突, 
    我的form这么写不会有问题.        <form name="testForm">
                <field property="max" depends="required, maxlength">
                 <arg0 key="testForm.max"/>
                 <arg1 key="${var:maxlength}" name="maxlength" resource="false" />
                 <var>
                        <var-name>maxlength</var-name>
                        <var-value>8</var-value>
                    </var>
                </field>
                <field property="min" depends="required,minlength">
                    <arg0 key="testForm.min"/>
                    <arg1 key="${var:minlength}" name="minlength" resource="false" />
                    <var>
                        <var-name>minlength</var-name>
                        <var-value>4</var-value>
                    </var>
                </field>
            </form>但是向你那样写就会出错.        <form name="testForm">
                <field property="max" depends="required, maxlength">
                 <arg0 key="testForm.max"/>
                 <arg1 key="${var:max}" name="maxlength" resource="false" />
                 <var>
                        <var-name>max</var-name>
                        <var-value>8</var-value>
                    </var>
                </field>
                <field property="min" depends="required,minlength">
                    <arg0 key="testForm.min"/>
                    <arg1 key="${var:min}" name="minlength" resource="false" />
                    <var>
                        <var-name>min</var-name>
                        <var-value>4</var-value>
                    </var>
                </field>
            </form>页面的错误提示是:SYSTEM ERROR: Check logs for details.SYSTEM ERROR: Check logs for details. 
    后台的错误提示是:
    严重: maxlength validation failed for property max: java.lang.IllegalArgumentException: Variable maxlength is missing.
    2008-11-15 13:32:26 org.apache.struts.validator.FieldChecks processFailure
    严重: minlength validation failed for property min: java.lang.IllegalArgumentException: Variable minlength is missing.
      

  3.   

    <var> 
    <var-name>min </var-name> 
    <var-value>5 </var-value> 
    </var> 
    改成:
    <var> 
    <var-name>minlength </var-name> 
    <var-value>5 </var-value> 
    </var> 
    你是在为验证方法传参数而不是为属性