首先启用Validator插件
虽然Validator框架是与Struts封装在一起提供的,但在默认状况下Validator并不被启用。为了启用Validator,要向你的应用程序的struts-config.xml文件中添加下面的插件定义。
<!-- Validator Configuration --> <plug-in className="org.apache.struts .validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/ validator-rules.xml, /WEB-INF/ validation.xml"/> </plug-in>
然后创建Form Bean
为了使用Validator,你的应用程序的Form Bean必须归到Validator的ActionForm的某一子类,而不是ActionForm本身。
Validator的ActionForm子类提供了ActionForm的validate( )方法(它嵌入到Validator框架中)的实施过程。
你不必从头编写验证代码并把它投入validate( )方法中,相反,可以完全忽略该方法,因为Validator为你提供了验证代码。
import org.apache.struts.validator.ValidatorForm;
即是你的formbean 继承的是 ValidatorForm 而不是actionform
例如: public class LogForm extends ValidatorForm {}
这个类与你不是用Validator所创建的类相似,但它提供ValidatorForm而不是ActionForm。
这个类也不提供ActionForm的空reset( )和validate( )方法的实施过程,因为ValidatorForm提供了相应过程
在struts-config.xml定义好要使用的formbean
<form-beans> <form-bean name="logForm" type="com.LogForm"/> </form-beans>
然后在validation.xml 配置要验证的formbean
<!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> <formset> <form name="LogForm"><field property="userName"
depends="required,minlength">
<arg0 key="prompt.userName"/>
<arg1 name="minlength" key="${var:minlength}" resource="false"/>
<!--
<var>
<var-name>mask</var-name>
<var-value>${userName}</var-value>
</var>
-->
<var>
<var-name>minlength</var-name>
<var-value>5</var-value>
</var>
</field>
<field property="userPass"
depends="required">
<arg0 key="prompt.userPass"/>
</field>
</form></formset> </form-validation>其中key值 为引用 application.propertis 文件的 引用名.