struts 1.x 动态验证框架
引用:http://hi.baidu.com/xuchao_duizhang/blog/item/83ccda11769a7dcba7ef3ff0.html
1. 在Struts_config.xml 中配置 动态验证框架
<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为自己需要验证的表单信息
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required">
<msg name="required" key="errors.required.username" />
</field>
<field property="password" depends="required">
<msg name="required" key="errors.required.password" />
</field>
<field property="type" depends="required">
<msg name="required" key="errors.required.type" />
</field>
</form>
</formset>
</form-validation>
2.在Struts_config.xml 中配置 错误提示信息
动态验证框架<message-resources parameter="MessageResources_CN" />
为显示中文信息,使用native2ascii命令,把MessageResources.properties
编码为 utf-8 个格式的MessageResources_CN.properties
目录结构:
提示信息:
3.Actoin的基本配置信息,validate设为true
<action attribute="loginForm" input="/login.jsp" name="loginForm"
path="/login" scope="request" type="com.jiaowu.struts.action.LoginAction"
validate="true">
<set-property property="cancellable" value="true" />
<forward name="loginSuccess_stu" path="/stu/stuMain.jsp" />
<forward name="loginFail" path="/login.jsp" />
</action>
同是,ActionForm 不能重写reset和validate方法,否则会出错
4.服务器端验证,普通struts标签,提示通过 <html:errors>显示
<html:form action="/login">
学生<html:radio property="type" value="stu"/>|
教师<html:radio property="type" value="tea"/><br>
<html:errors property="type"/><br/>
用户名 : <html:text property="username"/><html:errors property="username"/><br/>
密码 : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit value="登陆"/><html:cancel value="取消"/>
</html:form>
5.客户端验证,自动生成js,极为强大
<html:javascript formName="loginForm"/>
<html:form action="/login" onsubmit="return validateLoginForm(this);">
学生<html:radio property="type" value="stu"/>|
教师<html:radio property="type" value="tea"/><br>
<html:errors property="type"/><br/>
用户名 : <html:text property="username"/><html:errors property="username"/><br/>
密码 : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit value="登陆"/><html:cancel value="取消"/>
</html:form>