|
1 引入validator-rules.xml,这个文件是关于validator框架的常规验证规则,比如"required","maxlength","mask"。。。
这个文件通常放在/WEB-INF下面。
2 配置validation.xml文件,正是通过这个文件对Form设置验证规则,下面是一个示例:
[PHP]<form-validation>
<formset>
<form name="yourForm">
<field property="field1" depends="required, minlength, mask">
<msg name="mask" key="yourForm.validator.mask"/>
<arg key="yourForm.field1.name" position="0" />
<arg name="minlength" key="${var:minlength}" resource="false" position="1"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>
</var>
<var>
<var-name>minlength</var-name>
<var-value>10</var-value>
</var>
</field>
<field property="field2" depends="required">
<arg0 key="yourForm.field2.name" position="0">
</field>
</form>
</formset>
</form-validation>
[/PHP]其中 <form>元素的“name”是一个FormBean的名字,在struts-config.xml文件中配置了。
<field>元素的“property”属性是FormBean的一个属性名。
将这个Validation.xml文件保存到一个目录下,通常是"/WEB-INF/".
3 在struts的配置文件中添加validator插件,pathnames属性的值指向validator-rules.xml和validation.xml两个文件的位置(由此可以看出这两个文件可以随便放在哪里)
[PHP]<struts-config>
......
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
<set-property property="stopOnFirstError" value="true"/>
<plug-in>
......
</struts-config>[/PHP]
4 配置验证提示信息的资源文件,比如是“MessageResources.properties”,这个文件是在struts-config.xml文件中的<message-resources>元素配置的。
在里面添加验证出错信息的内容(这些内容在struts包中的validator-rules.xml文件上方的注释中就有,直接拷贝过来就行了)
[PHP] # Struts Validator Error Messages
errors.required={0} is required.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be a byte.
errors.short={0} must be a short.
errors.integer={0} must be an integer.
errors.long={0} must be a long.
errors.float={0} must be a float.
errors.double={0} must be a double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is an invalid credit card number.
errors.email={0} is an invalid e-mail address.[/PHP]
一般还要配置中文的资源文件,方法如上。
5 在使用validator客户端验证的jsp文件中添加如下的代码
[PHP]<html:form action="registratin-submit" onsubmit="return validateYourForm(this);">
.....
</html:form>
<html:javascript formName="yourForm">[/PHP]
其中,formName是那个FormBean的名字,相应的,return validateXXX(this) “XXX”也是这个名字。
OK,就这样了,你试试看! |
|