field property="password1" depends="required,validwhen,maxlength"><msg name="validwhen" key="password.validwhen"/><arg0 key="label.password" resource="true"/>
<arg1 key="${var:maxlength}" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
<var>
<var-name>test</var-name>
<var-value>((password2==*this*) and (*this* !=null))</var-value>
</var>
</field>password.validwhen=密码不一致

解决方案 »

  1.   

    <field property="password1" depends="required,validwhen,maxlength">
    <msg name="validwhen" key="password.validwhen"/>
    <arg0 key="label.password" resource="true"/>
    <arg1 key="${var:maxlength}" resource="false"/>
    <var>
    <var-name>maxlength</var-name>
    <var-value>20</var-value>
    </var>
    <var>
    <var-name>test</var-name>
    <var-value>((password2==*this*) and (*this* !=null))</var-value>
    </var>
    </field>不行啊,我把这个password1的验证改成这样还是不行呢。
    在properties文件中也加入了password.validwhen=密码不一致
      

  2.   

    struts-config.xml文件必须有你的form配置
      <form-beans >
        <form-bean name="userForm" type="com.excel.struts.form.UserForm">
              <form-property name="password1" type="java.lang.String" />
              <form-property name="password" type="java.lang.String" />
        </form-bean>
      </form-beans>
    ------------------------
    validator.xml 配置文件
    ----------------------- <formset>
    <form name="userForm">
    <field property="password" depends="required">
    <arg0 key="com.password" />
    </field>
    <field property="password1" depends="required">
    <arg0 key="com.password" />
    </field>
    </form>
    </formset>1、form name="user" 改成你的form名字
    2、key="com.password" 在你的resouce文件里面添加com.password字段判断两个密码是否一样,在Action里面去判断。
      

  3.   

    to tcmis(难道你忘了吗?) .我现在的情况是:
    password1和password2的required和maxlength验证都很正常,使是password1的validwhen没有任何反映,当p1<>p2时,没有任何反映。
    另外,我用的是客户端javascript:alert的提示,放到Action中就没法用了我的全部源码是:----struts-config.xml
    <form-beans>
    <form-bean name="registerForm" type="cray.ActionForm.RegisterForm"/></form-beans><action-mappings>
    <action path="/user/register"
    name="registerForm"
    type="cray.Action.RegisterAction"
    scope="request"
    validate="true"
    input="/fail.jsp"/>
    </action-mappings>----validation.xml<form-validation>
    <formset>
    <form name="registerForm"><field property="password1" depends="required,validwhen,maxlength">
    <msg name="validwhen" key="password.validwhen"/>
    <arg0 key="label.password" resource="true"/>
    <arg1 key="${var:maxlength}" resource="false"/>
    <var>
    <var-name>maxlength</var-name>
    <var-value>20</var-value>
    </var>
    <var>
    <var-name>test</var-name>
    <var-value>((password2==*this*) and (*this* !=null))</var-value>
    </var>
    </field><field property="password2" depends="required,maxlength">
    <arg0 key="label.password" resource="true"/>
    <arg1 key="${var:maxlength}" resource="false"/>
    <var>
    <var-name>maxlength</var-name>
    <var-value>20</var-value>
    </var>
    </field> </form>
    </formset>
    </form-validation>
      

  4.   

    http://community.csdn.net/Expert/TopicView3.asp?id=4764017