Struts之validator框架验证
validator框架验证的使用步骤如下:
(1)在struts-config.xml中配置Validator插件
<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插件的代码可以在validator-rules.xml文件中找到,直接复制粘贴
(2)在消息资源文件ApplicationResources.properties中加入如下内容
#Validator表单验证插件所需错误信息
errors.required={0} 是必须的!
errors.minlength={0} 不能小于 {1} 个字符!
errors.maxlength={0} 不能大于 {1} 个字符!
errors.invalid={0} 无效!
errors.byte={0} 必须为byte型!
errors.short={0} 必须为short型!
errors.integer={0} 必须为integer型!
errors.long={0} 必须为long型!
errors.float={0} 必须为float型!
errors.double={0} 必须为double型!
errors.date={0} 不是一个日期!
errors.range={0} 没有位于 {1} 与 {2}之间!
errors.creditcard={0} 是一个无效的信用卡号!
errors.email={0} 是一个无效的邮箱地址!
注意:配置Validator插件的代码可以在validator-rules.xml文件中找到,直接复制粘贴,然后将要显示的信息做一下修改。
(3)配置一个validation.xml文件
<form-validation>
<global>
<!-- 配置常量表达式 -->
<constant>
<constant-name>phone</constant-name>
<constant-value>^/(?(/d{3})/)?[-|]?(/d{8})$</constant-value>
</constant>
</global>
<formset>
<form name="memberForm">
<field property="memberName" depends="required"><arg0 key="member.realname"/></field>
<field property="loginName" depends="required"><arg0 key="member.login.name"/></field>
<field property="loginPwd" depends="required"><arg0 key="member.login.pwd"/></field>
<field property="phone" depends="required,mask">
<arg0 key="member.phone"/>
<var>
<var-name>mask</var-name>
<var-value>${phone}</var-value>
</var>
</field>
<field property="address" depends="required"><arg0 key="member.address"/></field>
<field property="zip" depends="required"><arg0 key="member.zip"/></field>
<field property="email" depends="email"><arg0 key="member.email"/></field>
</form>
</formset>
</form-validation>
(4)创建一个在客户端执行验证的页面
<html:javascript formName="memberForm"/>
<html:form action="/reg?m=reg" οnsubmit="return validateMemberForm(this);">
......
</html:form>