Struts1验证框架

[size=large]Struts1验证框架

1. 验证所使用的formbean必须是org.apache.struts.validator.*;
下的ValidatorForm,或者其子类DynaValidatorForm之类的名字。
2. 在struts-config.xml文件中必须配置validator-rules.xml和validation.xml 文件
注意:配置应该在配置文件最下方

注:当项目中的action比较多时,一般在web.xml中配置,Servlet导入所有的struts-config.xml,这时如:

此时配置/WEB-INF/config/main/struts-config.xml会是一个主xml文件,在此文件中导入验证及验证规则

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/config/main/struts-config.xml,/WEB-INF/config/a/struts-config.xml,/WEB-INF/config/a/struts-config.xml
</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml,/WEB-INF/config/main/validation.xml,/WEB-INF/config/a/validation.xml" />
</plug-in>

注:此时,一般会有一个验证规则文件,但会有多个validation.xml文件配置用“,”分割,如上
3. 配置ApplicationResources.properties资源文件的错误信息
errors.required={0} 是必须填写的!
errors.minlength={0} 应大于 {1} 个字符!
errors.maxlength={0} 应小于 {2} 个字符!
errors.invalid={0} 是无效的!
errors.byte={0} 必须小于127!
errors.short={0} 必须小于32766!
errors.integer={0} 必须小于2147483648!
errors.long={0} 必须是long型数据!
errors.float={0} 必须是浮点型数据!
errors.double={0} 必须时双精度型数据!

errors.date={0} 输入的值不符合时间规范!

errors.range={0} 的值应在{1}和{2}之间!

errors.creditcard={0} 的值不符合信用卡规范!

errors.email={0} 的值不是合法的E-mail地址!

4. 在validation.xml文件中配置验证规则

基本验证规则:
名称 描述
byte,short,integer, 检验值是否能被转换成对应的基本数据类型
long,float,double
creditCard 检验输入域是否是一个合法的信用卡号码
date 检验输入域是否是一个合法日期
email 检验输入是否是一个合法Email地址
mask 检验输入域是否能成功匹配一个正则表达式
maxLength 检验值的长度是否小于等于给定的最大长度
minLength 检验值的长度是否大于等于给定的最小长度
range 检验值的范围是否在最大值和最小值之间
required 检验输入域是否为不为空,或不包含空格值的长度是否大于零

看下面代码:

<form-validation> <!-- 顶级元素 -->
<formset> <!--form验证集合,其中都是form验证定义 -->

<form name="loginForm">
<!-- 需要验证的form名字,于struts-config.xml formbeans中定义的名字相同 -->

<field property="account" depends="required,minlength,maxlength">
<arg0 key="用户名" resource="false"/>
<arg1 name="minlength" key="${var:minlength}" resource="false"/>
<arg2 name="maxlength" key="${var:maxlength}" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>15</var-value>
</var>
<var>
<var-name>minlength</var-name>
<var-value>3</var-value>
</var>
</field>

<!--
field:表示form中需要验证的属性。
depeds:表示需要验证的规则,具体规则上面有。
arg0-5:表示在资源文件中定义的“{0}xxx{1}xxx”错误信息,
所对应的参数arg0就对应{0} 以此类推。
name:表示给那个验证规则配置参数。
key:表示depeds中厌憎规则所需要的参数
resource:表示是否从资源文件内读取信息填装{0}
var:当然表示验证规则中的变量啦。
-->

</form>

</formset>
</form-validation>

5. 最后可以在jsp页面添加<html:javascript formName="表单名字"/>
并且<html:form>中添加, οnsubmit="return validate表单名字(this);"
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值