这里以jakarta-struts-1.1为例说明validator验证的配置方法。
- 引用jar包(jakarta-struts-1.1/jakarta-struts-1.1/lib)
实现validator验证需要struts的两个jar包:commons-validator.jar和jakarta-oro.jar
- 设置资源文件
在src目录下建立资源文件ApplicationResources.properties,如果其中包含中文,还需要转换成Unicode编码,可以使用Eclipse插件PropertyEditor,URL:http://propedit.sourceforge.jp/eclipse/updates/,或者使用naitve2ascii
- 添加validator配置文件(jakarta-struts-1.1/jakarta-struts-1.1/lib)
将如下两个文件复制到WEB-INF目录下(内容一般不需要修改,除非使用一下特殊的验证,后面会说明):
validator-rules_1_1.dtd
validator-rules.xml
在WEB-INF目录下新建验证文件:
validation.xml(以登录页面为例说明)
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
<var>
<var-name>mask</var-name>
<var-value>^/w+$</var-value>
</var>
<var>
<var-name>secondProperty</var-name>
<var-value>usrPwdConfirm</var-value>
</var>
</field>
<field property="usrComment" depends="maxlength,mask">
<arg0 key="user.usrComment" />
<arg1 name="maxlength" key="${var:maxlength}" resource="false" />
<arg2 name="mask" key="$(var:mask)" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
<var>
<var-name>mask</var-name>
<var-value>^/w+$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
- 修改struts配置文件 struts-config.xml
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" />
</plug-in>
......
注意:需要设置input="/user.jsp",否则运行报错
- UserForm应该继承自ValidatorActionForm 而不是ActionForm
- User.jsp添加验证失败的返回信息代码
在需要显示错误信息的地方插入<html:errors/>即可
到这里,就可以实现基本的验证了。