首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

validator 证验框架学习笔记

2012-11-09 
validator 验证框架学习笔记validator 验证框架六种类的关系:1:普通form(从下向上继承)ActionForm//不用验

validator 验证框架学习笔记
validator 验证框架

六种类的关系:

1:普通form(从下向上继承)
ActionForm  //不用验证框架作验证            
|
|
validatorForm //使用验证框架时必须继承它,但只能做同一种验证(即只提交一个按键时的验证)
|
|
validatorActionForm //使用验证框架验证时,可以更为精确的去处理业务逻辑,针对的是不同的按键的path(即可以作不同的验证,如,既可以验证是否为空,又可以同时验证是否小于几位)

2:动态form(从下向上继承)
DynaActionForm              
  |
  |
DynaValidatorForm
  |
  |
DynaValidatorActionForm


我们自己的form 必须继承validatorForm 或validatorActionForm 或DynavalidatorForm 或DynavalidatorActionForm

对于 validatorForm 和DynavalidatorForm 是针对form的验证
对于 validatorActionForm 和DynavalidatorActionForm 是针对path的验证

validator验证框架的使用(服务器端):
1.创建form,继承validatorForm 或validatorActionForm 或DynavalidatorForm 或DynavalidatorActionForm
  ××务必把form中的validate()方法去掉
2:在struts-config.xml文件中 注册validator验证框架(在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>
  3:在validation.xml文件中指定哪个form的哪些属性做什么验证
  <form name="logForm">//对于validatorForm 和DynavalidatorForm 是form的逻辑名,对于 validatorActionForm 和DynavalidatorActionForm 是path的内容
         <field
    property="name"//要验证的属性
           depends="required,mask,minlength">//做哪些验证,mask指定必须为几位
           <arg0 key="label.name"/>
   <arg1 name="minlength" key="${var:minlength}" resource="false"/>//设置错误信息
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>//用正则表达式表示只能是字符
        </var>
    <var>
               <var-name>minlength</var-name>//最小长度
               <var-value>7</var-value>
           </var>   
         </field>            
        
         <field
           property="date"
           depends="required,date">//日期的验证
           <arg0 key="label.date"/>
         </field>            
      </form>
4:在applicationResource.properties文件中加上错误信息
//验证框架用的信息,可以用中文转化
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.
//自己用到的信息
   label.name=name
   label.password=password
   label.phone=phone
   label.email =email

注意:运行前检查一下validation.xml和applicationResource.properties文件文件有没有部署到tomcat下


validator验证框架的使用(客户端):
前4步是一样的。
在jsp页面加上<html:javascript formName="logForm"/>,onsubmit="return validateLogForm(this)"
<html:form action="/log" focus="uname" onsubmit="return validateLogForm(this)"> //服务器自动生成的javascript函数名
email : <html:text property="email"/><html:errors property="email"/><br/>
uname : <html:text property="uname"/><html:errors property="uname"/><br/>
<html:submit/><html:cancel/>
</html:form>
<html:javascript formName="logForm"/>//formName相应的form名

热点排行