一:form要继承validate以上的form类这样才可以,但是前台验证可以重写父类的validate方法
后台验证必须继承ValidatorForm或ValidatorActionForm,测试发现:如果只做前台验证的话,不论用那个都可以。
二:在struts-config.xml加入,加载Struts的动态验证模块。
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/org/apache/struts/validator/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
三:在增加validation.xml文件,配置需要验证的Form表单。
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>
<formset>
<form name="userInfoForm" >
<field property="username" depends="required">
// resource="false"说明不用Struts的资源文件,输出消息自己写
//有多个Struts资源文件 bundle="这里是自愿文件的key值"
<msg name="required" key="用户名必填" resource="false"/>
</field>
<field property="password" depends="required">
<msg name="required" key="errors.required"/>
//给资源文件赋值研究
<arg key="errors.required" position="0" name="password"/>
</field>
</form>
</formset>
</form-validation>
四:网页端,在网页中应用。
注意:form一定要用html:form包装,负责不能通过自动验证
<!--使用生成生成脚本验证该表单-->
<html:form action="userinfo.do?method=login" method="post" onsubmit="return validateUserInfoForm(this)">
用户名称:<input type="text" name="username"><br>
拥护密码:<input type="password" name="password"><br>
<input type="submit" value="登陆"><br>
</html:form>
<!--动态生成验证脚本-->
<html:javascript formName="userInfoForm"/>