在struts-config.xml中<form-bean name="usersForm" type="org.apache.struts.validator.LazyValidatorForm" />在登陆页面中
有字段:userName、password
在用户注册页面中
userName、password、telephone、address
在validation.xml中 <formset>
<form name="usersForm">
<field property="userName" depends="required,minlength,maxlength">
<!-- 使用在validator-rules.xml中定义好的key名!!!所以不用设定《msg》标签 -->
<arg0 key="name.label"/>
<arg1 name="minlength" key="${var:minlength}" resource="false" />
<arg1 name="maxlength" key="${var:maxlength}" resource="false" />
<var>
<var-name>minlength</var-name>
<var-value>3</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>8</var-value>
</var>
</field>
<field property="password" depends="required,minlength,maxlength">
<arg0 key="password.label"/>
<arg1 name="minlength" key="${var:minlength}" resource="false" />
<arg1 name="maxlength" key="${var:maxlength}" resource="false" />
<var>
<var-name>minlength</var-name>
<var-value>3</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>8</var-value>
</var>
</field>
<field property="question" depends="required">
<arg0 key="question.label"/>
</field>
<field property="answer" depends="required">
<arg0 key="answer.label"/>
</field>
<field property="tel" depends="required,mask">
<arg0 key="tel.label"/>
<var>
<var-name>mask</var-name>
<var-value>${tel}</var-value>
</var>
</field>
<field property="email" depends="required,mask">
<arg0 key="email.label"/>
<var>
<var-name>mask</var-name>
<var-value>${email}</var-value>
</var>
</field>
<field property="address" depends="required">
<arg0 key="address.label"/>
</field>
</form>
</formset>我的问题是:
在Struts-config.xml中,我们使用LazyValidatorForm,不用定义属性,也就是我们能不能将用户登陆与用户注册都引用usersForm,在validation.xml中,我们使用一个form定义;如果这样可以,可以将validation.xml中的代码起到复用的作用;
这个思路,我是由DynaActionForm中定义一个具有所有字段属性Bean,然后多个form都可引用该动态的BeanForm