`
ferly_j
  • 浏览: 5087 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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名
3
2
分享到:
评论

相关推荐

    struts2校验器与校验框架精彩学习笔记

    本学习笔记主要探讨了Struts2中的校验器(Validator)和校验框架,帮助开发者理解如何有效地实现数据验证,确保应用程序的健壮性。 首先,我们来看Struts2的校验框架。这个框架提供了强大的功能,可以对用户输入...

    struts2学习笔记八(第8讲.Struts2的校验框架)

    本讲主要探讨Struts2的校验框架,它提供了对用户输入数据进行验证的功能,确保数据的有效性和安全性。 在传统的MVC模式中,数据验证通常在控制器或模型层进行,但在Struts2中,校验逻辑被移到了专门的校验框架中,...

    struts2学习笔记九(第9讲.Struts2的校验框架 续)

    Struts2的校验框架通过提供声明式和编程式的验证方式,使得数据验证变得更为简洁和灵活。 1. **声明式验证**:在Action类中,我们可以使用注解来定义字段的验证规则。例如,`@RequiredFieldValidator`用于检查字段...

    SpringMVC+Mybatis学习笔记

    【SpringMVC+Mybatis学习笔记】 SpringMVC和Mybatis是Java开发中常见的两个框架,它们分别负责Web层和持久层的管理。SpringMVC是Spring框架的一部分,提供了强大的模型-视图-控制器(MVC)架构模式,用于构建高性能...

    struts2的学习笔记+测试源代码

    这篇学习笔记和测试源代码着重探讨了如何使用XML配置来实现对Action中特定方法的输入验证。 在Struts2中,输入验证是一个关键的环节,它确保用户提交的数据符合应用程序的要求,防止非法或无效数据进入系统。Struts...

    SSM 框架整合教程:三、SpringMVC-尚硅谷学习笔记 2022 年

    在尚硅谷的2022年学习笔记中,可能包含了以下实战内容: - **HelloWorld示例**:创建一个简单的Controller,处理GET请求,返回“Hello, World!”。 - **模型数据传递**:演示如何将模型数据绑定到视图,并在页面上...

    Java学习笔记,spring,hibernate,struts

    Java学习笔记涵盖了多个核心的Java开发技术,包括Spring、Hibernate和Struts,这些都是Java Web开发中的重要框架。让我们深入探讨一下这些技术。 首先,Java是一种广泛使用的编程语言,以其跨平台性和面向对象的...

    Struts1.3 备忘笔记

    08 Struts_08DynaValidatorForm : Struts框架的Validator验证框架 09 Struts_09Token : Structs的令牌机制,避免重复提交问题 10 Struts_10SmartUpload : structs的文件上传 11 Struts_11Internationalize : Structs...

    struts2学习笔记六(第6讲.Struts2的输入校验续一)

    Struts2是一个强大的Java web框架,它为开发者提供了构建MVC(模型-视图-控制器)应用程序的强大工具。在第六讲中,我们将深入探讨Struts2的输入验证机制,这是确保应用程序数据安全性和正确性的重要环节。Struts2的...

    SpringMVC学习笔记+学习源码.zip

    总的来说,这份"SpringMVC学习笔记+学习源码.zip"资源涵盖了SpringMVC的基本概念、配置、控制器、数据绑定、异常处理、视图解析等多个方面的内容,对于初学者和有一定经验的开发者都是很好的学习资料。通过深入学习...

    springmvc学习笔记.zip

    这个“springmvc学习笔记.zip”文件很可能包含了关于如何理解和使用SpringMVC的详细教程或个人学习记录。以下是一些核心知识点的详细说明: 1. **MVC架构**:MVC是一种设计模式,将应用程序分为三个主要组件:模型...

    Struts2学习笔记

    通过`@FieldValidator`和`@Validations`注解,可以在Action类中声明字段级和类级的验证规则。如果验证失败,Struts2会自动处理错误并展示给用户。 总的来说,Struts2的Action模型提供了更高级别的抽象,简化了业务...

    struts2学习笔记五(第5讲.Struts2的输入校验)

    在Struts2的学习过程中,第五讲主要探讨的是输入验证,这是确保应用程序数据安全和准确性的关键步骤。输入验证通常发生在客户端和服务器端,防止恶意数据的提交,并确保用户输入的数据符合预设的格式和规则。 首先...

    spring MVC学习笔记

    **Spring MVC 学习笔记** Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(Model-View-Controller)架构,帮助开发者处理请求、控制应用程序流程,并实现业务逻辑...

    struts2学习笔记

    在深入探讨Struts2的学习笔记之前,先来理解它的核心概念。 **1. Struts2依赖的JAR包** Struts2的运行离不开一系列的依赖库,包括: - `struts2-core-2.1.6.jar`:这是Struts2的核心库,包含了Struts2框架的主要...

    Struts学习笔记

    Struts是Java Web开发中的一款经典MVC框架,由Apache...以上是对Struts学习笔记的简要概括,深入学习Struts,不仅可以提升Web开发技能,还能更好地理解MVC模式以及框架的设计思想,对后续学习其他Web框架也会有所帮助。

Global site tag (gtag.js) - Google Analytics