Struts 验证框架配置和使用

Struts 验证框架配置和使用

                            验证框架技术
一、     操作步骤:
1.     创建Web项目
2.     如果所用的IDE自带有验证框架的架包(jakarta-oro.jar/commons-validator.jar)就不用拷贝到WEB-INF/lib下,否则就的拷贝
3.     验证框架下有2个文件,分别是validator-rules.xml(一组验证规则)和validation.xml
(自己配置的相关字段验证,这个xml是需要自己建)
4.     前面的准备工作做完后,就开始相关的配置了,在验证框架中,必须要有一个.dtd
(它是commons-validator.jar中的一个文件,所以需要解压该架包才能获得,具体操作如下:自己所建项目下->WebRoot->WEB-INF->lib-> commons-validator.jar解压后->按照这个路径 (org/apache/commons/validator)-> resources->找到你所需要的相关.dtd文件)
  5. 将validator-rules.xml中的错误信息拷贝到structs框架中的ApplicationResources.properties(资源文件)中,然后将validator-rules.xml中的  
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
插件拷贝到struts-config.xml中的(<message-resources/>下)
* 注 * :Form要继承ValidatorForm并且屏蔽掉validate方法
//     public ActionErrors validate(ActionMapping mapping,
//               HttpServletRequest request) {
//         // TODO Auto-generated method stub
//         return null;
//     }

6.在validation.xml中进行相关的验证配置如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "validator_1_0.dtd" >
<form-validation>
  <formset>
              <form name="loginForm">//struts-config.xml中formBean的名字
<field property="username" depends="required,maxlength,minlength">
      //property相关验证字段的名称,depends所对应的验证器
<arg0 key="用户名" resource="false"/>
//当resource为TRUE时,表示使用来自resource Bundle中的消息,反之指定key中消息
<arg1 name="maxlength" resource="false" key="${var:maxlength}"/>
          <var>
                <var-name>maxlength</var-name>
              <var-value>8</var-value>
          </var>
<arg2 name="minlength" resource="false" key="${var:minlength}"/>
          <var>
                <var-name>minlength</var-name>
              <var-value>2</var-value>
          </var>
                           
    </field>
              </form>
    </formset>

所注意的问题:1、如<arg0 key="用户名" resource="false"/>在arg0中如果不设置验证器,那么就被所有的验证器通用
2、如<arg1 name="maxlength" resource="false" key="${var:maxlength}"/>中的arg1要与错误信息中所对应的该验证器的参数一至(errors.maxlength={0} can not be greater than {1} characters.)
    如果(errors.maxlength={0} can not be greater than {2} characters.)的话,那么就必须将2改为1

7.jsp中的前台验证:
<htm:form arction =”” οnsubmit=” return validateLoginForm(this) ”>
<html:javascript formName="loginForm"/>
//对应formBean的名字
8.配置完毕
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值