1.配置:
* 加入国际化配置在 struts-config.xml 文件中,如:
<message-resources parameter="MessageResources" />
* 提供国际化资源文件
* 引入 validator 插件在 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>
*提供 validation.xml (自定义的规则文件)和 validator-rules.xml (struts的规则文件)文件,将此文件拷贝到 WEB-INF 下
2.validator服务器端验证
*配置 validation.xml 文件
3.validator客户端验证( javascript )
*配置 validation.xml 文件
*在 jsp 页面中包含 <html:javascript>
*对需要验证的表单定义 onsubmit 事件,其中事件名称为 validate + ActionForm 的名称,如: validateLoginForm
sample:
资源文件中:
prompt.username=用户名称
prompt.password=登陆密码
errors.required={0},是必须的
struts-config.xml 中
<form-beans>
<form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
validation.xml 中
<form-validation>
<formset name="loginForm"> //此处的 loginForm 就是 struts-config.xml 中 ActionForm 的名字
<field property="username" depends="required"> //此处的 username 就是 ActionForm 中的字段名, required 是一个验证规则,即 validator-rules.xml 文件中 <validatro> 标签的 name 值,depends 就是为了引入一个验证规则,<validator>标签中的 msg 属性的值 就是资源文件中的一个 key 的名字,表示验证失败时需要读取的国际化资源文件中的默认消息文本,即 key
<arg key="prompt.username"> //此处的 prompt.username 表示如果没有输入时,则需要提示的消息,即国际化资源文件中的 key 的名字
<arg0> //填充占位符的
</field>
<field property="password" depends="required,mask">
<arg key="prompt.password" />
<var>
<var-name>mask</var-name>
<var-value>^[0-9 a-z A-Z]*</var-name>
</var>
</field>
</formset>
</form-validation>