|
来自:http://www.matrix.org.cn/blog/magicgod/
校验器: 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" /> <set-property property="stopOnFirstError" value="true" /> </plug-in>
validator-rules.xml: 一般来说写规则
<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.ActionMessages, javax.servlet.http.HttpServletRequest" msg="errors.required"/>
errors.required要在ApplicationResources.properties中定义
validation.xml: 一般来说写条件
<form name="loginForm"> <field property="username" depends="required,minlength"> <arg key="label.login.username" position="0"/> <arg name="minlength" key="${var:minlength}" resource="false" position="1"/> <var> <var-name>minlength</var-name> <var-value>5</var-value> </var> </field> </form>
FormBean请继承:ValidatorForm
ApplicationResources_zh_CN.properties: 可以加参数{0},在validation.xml中绑定 errors.required={0}不能为空,必须输入 errors.minlength={0}的长度不能小于{1}
需要 JavaScript的时候: form上要加上 onsubmit="return validateLoginForm(this)"
jsp里加上这个会生成JavaScript代码 这个formName是在validation.xml中定义的。 <html:javascript formName="loginForm"/>
全部搞定
|