初识Struts(九)-------动态验证框架validator

Struts提供了表单输入的自动验证功能,即使用validator动态验证框架。其使用步骤如下:

 

1、配置

     * 创建properties资源文件,如:

login.username=用户名

login.password=密码

 

errors.required={0},is required.

        

     * WEB-INF下添加validator-rules.xml文件(Struts自带的原验证规则)

    

     * WEB-INF下添加validation.xml文件(自定义验证规则,可多个),如:

<form-validation>

    <formset>

       <form name="loginForm">

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

             <arg key="login.username"/>

          </field>

         

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

             <arg key="login.password"/>

          </field>

       </form>

    </formset>

</form-validation>

         上面的规则表明要对loginForm表单输入框的usernamepassword验证,必须保证非空输入(required)

 

      * struts-config.xml中添加(将资源文件和验证规则文件引入):

   <message-resources parameter="res.MessageResource"/>

   <plug-in className="org.apache.struts.validator.ValidatorPlugIn">

      <set-property

                    property="pathnames"

                    value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />

   </plug-in>

      上面的<plug-in>元素表明验证类org.apache.struts.validator.ValidatorPlugIn将根据value指定的规则文件进行验证。

 

      * struts-config.xml中配置需要验证的ActionForm,我这里是使用动态ActionForm----就必须是DynaValidatorForm(也可自定义继承自ValidatorActionForm的需要验证的ActionForm,并去掉resetvalidate方法)

  <form-beans>

     <form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">

         <form-property name="username" type="java.lang.String"/>

         <form-property name="password" type="java.lang.String"/>

     </form-bean>

       

  </form-beans>

         

       * struts-config.xml中配置要验证页面相应的action时,加上validate=true

     <action path="/login1"

             type="cn.huan.struts.LoginAction"

             name="loginForm"

             scope="request"

             validate="true"

             input="/login1.jsp">

           <forward name="success" path="/login_success.jsp"/>

          

      </action>

 

 

 2、使用

 

       * 方法一:服务器端验证,如:

    <html:form action="login1.do">

         用户名:<html:text property="username"/><html:errors property="username"/><br>

         密码:<html:password property="password"/><html:errors property="password"/><br>

        <html:submit/>

   </html:form>

           如果没有输入值就提交就会显示提示信息:

 
 

       * 方法二:客户端验证(javascript),如:

   <html:form action="login2.do" οnsubmit="return validateLoginForm(this)">

       用户名:<html:text property="username"></html:text><br>

       密码:<html:password property="password"/><br>

       <html:submit/>

   </html:form>

   <html:errors/>

   <html:javascript formName="loginForm"/>

          如果没有输入值就提交就会显示提示信息:

 

 

 

到此,动态验证框架做完。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值