在struts开发中使用validator验证是应该注意的基本问题
首先,在struts-config.xml里面最后面的位置加上
<message-resources parameter="com.ln.struts.ApplicationResources"/>
和
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
其中,validator-rules.xml用来定义验证规则,validation.xml用来设置需要定义的表单项,以及该项要进行何种验证,错误时返回什么信息。ApplicationResources则是要显示的错误信息的资源文件。示例如下:
validator-rules.xml:
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
<form-validation>
<global>
<validator name="required"
classname="org.apache.struts.validator.FieldChecks"
method="validateRequired"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
msg="errors.required">
msg是针对"required"验证失败时,要显示的错误。
</validator>
</global>
</form-validation>
validation.xml:
<form-validation>
<formset>
<form name="testForm">
<field property="name"
depends="required">
<arg0 key="error.name"/>
arg0是针对不同的property验证失败时要加上的错误信息
</field>
<field property="password"
depends="required">
<arg0 key="error.password"/>
</field>
</form>
</formset>
</form-validation>
ApplicationResources.properties:
# Resources for parameter 'com.ln.struts.ApplicationResources'
# Project P/struts
errors.header=<font color=red>
errors.footer=</font>
error.name=A userName
error.password=A password
errors.required={0} is required
然后在页面上分别用
<html:errors property="name"/>
<html:errors property="password"/>
表示出来就行了。(注意:此处的property与validation.xml里面field的property值要一致)。