利用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>
一、 创建基于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>
相关文章推荐
- 利用Struts的Validator验证框架实现客户端和服务器端双验证
- 利用Servlet和jsp实现客户端与服务器端的用户登录信息验证
- IOS Socket 04-利用框架CocoaAsyncSocket实现客户端/服务器端
- 【原创】用validator框架实现Login动态验证....
- 浅谈在ASP.NET MVC3中使用IClientValidatable接口实现客户端和服务器端同时验证
- struts1.2的Validator验证框架使用
- 基于Spring MVC框架JSR-303的自定义注解Validator验证实现
- 在struts1.1框架下,利用smartupload实现文件的上传(可以是多个文件)
- Struts:validator验证框架详解(二)
- 8、使用JavaScript与Servlet实现客户端与服务器端验证
- 在struts1.1框架下,利用smartupload实现文件的上传(可以是多个文件)
- Struts Validator验证框架详细讲解
- 开发框架:利用STRUTS实现国际化支持
- Android 中使用Socket来实现客户端和服务器端(使用MINA框架)
- android客户端向服务器端验证登陆方法的实现2
- 有关struts中validator验证框架
- Validator验证框架(在Struts中使用注意)
- 整合Spring MVC,mybatis,hibernate,freemarker框架实现的自定义注解Validator验证机制实现对敏感词过滤的代码分享
- ASP.NET如何实现服务器端身份验证和客户端状态管理?(Session机制和Cookie)
- 利用JavaScript实现客户端输入日期验证