STRUTS验证

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

这里只是列出一些使用validator的简单步骤,并不是一个详细的例子。如果要进一步的了解该如何使用,请参看相关的文章。


1.
所需的包
commons-validator.jar
jakarta-oro.jar
(这两者是什么关系我也不太清楚,不知道为什么两者都需要)

2.
配置验证规则(validation rules)
有两个非常重要的配置文件,validator-rules.xmlvalidation.xml

2.1 validator-rules.xml
。它包含一些全局验证的规则,可以被应用在你应用中的每个地方。它也可以被其它的Struts应用所引用。需要注意的是,如果你需要对它进行扩展,那最好是另外写一个配置文件,而不是在这个文件中进行扩展,这样做的目的是保证该文件可以始终被所有的应用所使用,而不是customized

文件中每个validator元素就是一个单独的验证规则。举例看看:


--------------------------------------------------------------------------------1  
2  <validator name="minlength"
3              classname="org.apache.struts.validator.FieldChecks"
4                 method="validateMinLength"
5           methodParams="java.lang.Object,
6                         org.apache.commons.validator.ValidatorAction,
7                         org.apache.commons.validator.Field,
8                         org.apache.struts.action.ActionErrors,
9                         javax.servlet.http.HttpServletRequest"
10                depends="required"
11                    msg="errors.minlength">
12  </validator>
--------------------------------------------------------------------------------

其它不多说,其中有一个depends的属性,它代表在作这个验证(minlength)之前,先要作那个的验证(required)。如果这样写:depends="rule1,rule2",那么就需要先验证rule1rule2,然后再来验证minlength了。需要注意的是,如果前面的验证没有通过(失败)的话,那么后面的验证就不会进行。
另外,validator中可以有javascript的子元素,这个稍后再解释。
当验证失败,一个ActionError对象就会被创建出来,并被添加到ActionErrors中,然后在view component上就可以对它进行处理了。

2.2 validation.xml
。该配置文件是应用相关的(application specific)。它定义了一个具体表单中所要使用的从validator-rules.xml中来的验证规则。

3.
通过plugin把验证模块和Struts结合起来。

--------------------------------------------------------------------------------1  
2    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
3      <set-property property="pathnames"
4                       value="/WEB-INF/conf/validator-rules.xml,
5                              /WEB-INF/conf/validation.xml"/>
6    </plug-in>
--------------------------------------------------------------------------------


4.
有两个地方可以对表单进行验证,一个是放在Form-Bean中验证,一个就是放在Action-Form中来验证。此外对于form,还分标准的form和动态form两种,这样又引入了是标准Form验证还是动态Form验证。

5.
创建自己的验证规则的三个步骤。
5.1
编写包含有相应验证方法的java类;
5.2
编辑validator-rules.xml文件或者创建自己的版本;如果是自己创建的配置文件,不要忘记把它添加到plugin的设置中去。
5.3
validation.xml中使用新的验证规则来验证表单。

6.
接下来就是如何使用javascript啦!
这里大概说一下如何使用,并没有一个具体完整的例子 :(
6.1
用于javascripttagJavascriptValidatorjavascript代码将被包含在validator元素内,以javascript为元素。
6.2
JavascriptValidator这个tag被包含在jsp页面中的时候,包含在javascript元素中的js代码将被写到客户端的jsp页面中以供验证使用。
6.3
这样来使用javascripttag
<html:javascript formName="loginForm" />
其中formName是用来查找相应的javascript代码的。
6.4
必须再为该form写一个onsubmit的事件:
<html:form action="getPayment Info" οnsubmit="return validateLogin Form(this);" >
这里的validateLoginForm方法是由tag来自动创建的,它包含了所有要检验的js逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值