struts1学习笔记三



在工程中集成validate框架,你需要查看org.apache.struts.validator包下的validator-rules.xml文件,它是validate框架的校验规则文件,这个文件说明了如何在struts工程中集成validate框架:
1、在struts-config.xml文件中配置validate插件。
2、创建资源文件,并复制validate框架工作需要的信息。
3、把struts-cookbook-1.3.8例程自带的、validate框架的配置文件validation.xml,复制到当前web工程的WEB-INF目录下。
validate框架环境搭建好后,就可以采用配置的方式对formbean的属性进行校验,但需要注意:
1、formbean要想使用validate框架校验,不能直接继承 ActionForm, 而要继承其子类 ValidatorForm。
2、如果是DynaActionForm,就必须要继承DynaValidatorForm












1、使用org.apache.struts.validator.DynaValidatorForm这个formbean封装表单数据,这个formbean的validate方法在执行,会调用validate框架。


2、在struts应用集成validate框架,就是在struts-config.xml文件中配置如下元素:
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" 
                      value="/org/apache/struts/validator/validator-rules.xml,
                             /WEB-INF/validation.xml"/>
    </plug-in>





3、在web-inf/目录下加入validation.xml(用户编写这个文件,告诉validate框架对哪个表单、以及表单的哪个字段进行校验)
<form-validation>
<formset>
<!-- Form for Validation example -->
<form name="dynaForm">
<field property="userName" depends="required,minlength,maxlength,mask">
<!--  如果不从资源文件取数据 -->
<arg key="userName"  resource="false" position="0"/>
<arg name="minlength"  key="${var:minlength}" resource="false" position="1"/>
<arg name="maxlength"  key="${var:maxlength}" resource="false" position="1"/>

<var>
<var-name>minlength</var-name>
<var-value>3</var-value>
</var>
<var>
<var-name>maxlength</var-name>
<var-value>6</var-value>
</var>
<var>
<var-name>mask</var-name>
<var-value>[a-a]{3,6}</var-value>
</var>
</field>
</form>
</formset>
</form-validation>


4、在struts应用编写资源文件,并在资源文件中加入:


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.




Struts-Validate客户端验证
<html:javascript formName="dynaForm"/>
       <html:form action="/RegisterAction"  onsubmit="return validatedynaForm(this)">
    用户名:<input type="text" name="userName"><br/>
    密码:<input type="password" name="password"><br/>
    <input type="submit" value="提交"> 
    </html:form>
注意:<html:javascript>的formName指定表单的名称。onsubmit事件的值也必须为return validate表单名(this)

posted @ 2012-09-07 09:28  retacn_yue  阅读(140)  评论(0编辑  收藏  举报