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=密码不一致
<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=密码不一致
解决方案 »
- JSON与对象相互转换问题
- 自定义异常_公交刷卡
- 用Hibernate3注解映射出现的问题!
- SGD + AD seem so unstable
- order by 的问题
- Applet怎么通过Servlet(RMI)调用EJB(JNDI)?
- 关于Web Service Session 问题? 谁做过这方放面的技术?
- 明天就交作业!TFTP文件传输的问题,急!解决问题就散份儿!!!(再现等待)
- JBuilder8需要与相关的servlet、JSP的服务器的目录如何设置?
- 关于hibernate分页传负值进去的问题。
- 用struts时如何向不同模块的action提交数据?
- 一个struts项目,是分不同webmodule做好还是分多模块做好 两者的利弊如何 请高手赐教
<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=密码不一致
<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里面去判断。
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>