您的位置:首页 > 编程语言 > Java开发

利用Struts的Validator验证框架实现客户端和服务器端双验证

2008-12-18 08:53 555 查看
Struts的Validator验证框架定义了常用的十几个验证规则,如:required(验证非空)、minlength(验证最小长度)、maxlength(验证最大长度)、intRange(验证整形范围)、email(验证电子邮件地址)、date(验证日期)等,并且实现了客户端的Javascript验证和服务器端验证,以下是在myeclipse环境下使用Validator验证框架的步骤:

一、 创建基于Struts的web工程

二、 将validator-rules.xml中以下代码拷贝到资源文件中

# Struts Validator Error Messages

errors.required={0} is required.

errors.minlength={0} can not be less than {1} characters.

errors.maxlength={0} can not be greater than {1} characters.

errors.invalid={0} is invalid.

errors.byte={0} must be a byte.

errors.short={0} must be a short.

errors.integer={0} must be an integer.

errors.long={0} must be a long.

errors.float={0} must be a float.

errors.double={0} must be a double.

errors.date={0} is not a date.

errors.range={0} is not in the range {1} through {2}.

errors.creditcard={0} is an invalid credit card number.

errors.email={0} is an invalid e-mail address.

三、将validator-rules.xml中以下代码拷贝到struts-config.xml配置文件中,验证框架将以插件形式被注入struts框架

<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文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0.1//EN"

"validator_1_0_1.dtd" >

<form-validation>

<formset><!—配置特定于FormBean的验证-à

<form name="loginActionForm">

<!—name:属性对应struts-config.xml中FormBean的名字-à

<field property="login" depends="required">

<!—field:要验证的字段,即属性,depends:依赖的验证规则à

<arg0 key="loginActionForm.login"/>

<!—arg0:在资源包中配置错误消息的{0}参数值à

</field>

<field property="password" depends="required,minlength">

<!—多个验证规则用逗号分割à

<arg0 key="loginActionForm.password"/>

<arg1 key="#{var:minlength}" resource="false"/>

<!—resource:false该key的值不在资源包中给出,而是在本文件给-à

<var>

<!—定义变量,给上面的key所用à

<var-name>minlength</var-name>

<var-value>6</var-value>

</var>

</field>

</form>

</formset>

</form-validation>

五、实现客户端的javascript验证,只需在<form onSubmit=”return validateLonginActionForm(this);”>配置提交事件和使用<html:javascript formName=”loginActionForm”/>

<body>

<font color="red">

<html:errors/>

</font>

//onSubmit=”return validate+formbean的名字”

//<html:javascript formName=”formbean的名字”/>

<html:form action="/login.do" onsubmit="return validateLoginActionForm(this);">

Login:<html:text property="login" /><br>

Password:<html:text property="password" /><br>

<html:submit/>

</html:form>

<html:javascript formName="loginActionForm"/>

</body>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: