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

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

一、             创建基于Strutsweb工程

二、             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.xmlFormBean的名字-à

           <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:falsekey的值不在资源包中给出,而是在本文件给-à

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值