`
jiujiubuzui
  • 浏览: 73333 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Validator验证框架使用教程

 
阅读更多
Terry原创,转载请说明作者及出处。


使用平台:Eclipse3.2+MyEclipse5.01GA

首先,Validator验证框架最好要在Struts1.2下使用,当然在Struts1.1下也是可行的,只是在Struts1.2下能支持得更好。

在Struts-Config.xml配置文件里添加插件,或是把下面的文本内容复制到Struts-Config.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>


在MyEclipse下建立validation.xml的步骤如下:
在项目的根目录处点击鼠标右键,选择新建“XML(Basic Templates)”,在弹出的窗口中选择“Create XML file from a DTD file”下一步,将文件目录设置到WEB-INF下,文件名取为“validation.xml”下一步;在这里点击“Select XML Catalog entry”选项,并选择KEY名为“-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN”的选项,下一步;此处已经不需要再设置什么,直接点击“Finish”完成validation.xml的建立,通过这样的建立文件,在编辑过程中输入"<"符号后,编辑器就会自动查找与当前结构匹配的Validator标签。


下面介绍一下validation.xml配置文件的标签:

<form-validation></form-validation>是总框架
<formset></formset>是对Form里的数据进行配置
<form name="ActionForm对应的名称"></form>对一个ActionForm里的数据进行验证配置
<field property="ActionForm里的属性名" depends="验证规则,可以是Validation-rules里定义好的也可以是自定义的验证规则">这里配置一个属性的验证内容
<arg0 name="对应的验证规则名称" key="可以直接填入数值,也可填入变量表达式:${var:变量名}" resource="true/false"(代表是否从资源文件中读取信息,否则Key的值以参数的形式返回)>
<var></var>定义一个变量的标签体,可以在里面具体设置变量的名称以及数值
<var-name>对应Key里定义的变量名称</var-name>
<var-value>值</var-value>
<msg name="对应的验证规则名称" key="资源文件中定义的变量名称">这里定义了信息变量后,会默认定义的信息变量。
在验证规则中大部分可以使用已经预定义好的规则,它们在validator-rules.xml里,当然我们自己也可以定义规则。


实例如下:
<form-validation>
    <formset>
      <form name="employeeActionForm">
      <field property="vname" depends="required,maxlength">
        <arg0 key="employee.name"/>
        <arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
        <var>
          <var-name>maxlength</var-name>
          <var-value>10</var-value>
        </var>
      </field>
      <field property="vsex" depends="required,maxlength">
        <arg0 key="employee.sex"/>
        <arg1 name="maxlength" key="${var:maxlength}" resource="false"/>
        <var>
          <var-name>maxlength</var-name>
          <var-value>5</var-value>
        </var>
      </field>
      <field property="vage" depends="required,integer,intRange">
        <arg0 key="employee.age"/>
        <arg1 name="intRange" key="${var:min}" resource="false"/>
        <arg2 name="intRange" key="${var:max}" resource="false"/>
        <var>
          <var-name>min</var-name>
          <var-value>1</var-value>
        </var>
        <var>
          <var-name>max</var-name>
          <var-value>100</var-value>
        </var>
      </field>
      <field property="vmoney" depends="integer">
        <arg0 key="employee.money"/>
      </field>
      </form>
    </formset>
</form-validation>


要想在ActionForm里应用上Validator框架,就必须继承ValidatorForm类;
在MyEclipse下新建ActionForm时可以将其SuperClass设置为“org.apache.struts.validator.ValidatorForm”
如果是已经建好的ActionForm要改为使用Validator验证需如下操作:
导入org.apache.struts.validator.ValidatorForm包,将类ActionForm扩展类从原先的ActionForm改为ValidatorForm
而原先的public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)和
public ActionErrors validate(ActionMapping mapping, ServletRequest request)
以及Reset方法去除即可。


应用程序全局资源文件:ApplicationResources.properties
可以在文件里添加错误提示信息,格式为:
变量名:提示文本(注:若要使用中文信息则要在转换之前将中文的文本填写完,转换后文件名后需要加上_zh_CN才会被系统识别为简体中文)
内容如下:
employee.name=员工姓名
employee.sex=员工性别
employee.age=员工年龄
employee.money=期望薪金
errors.required={0}不能为空,请填写!
errors.integer={0}必需为一个整数值
errors.range={0}必需为1~100之间的一个数字
errors.maxlength={0}的最大数不能越过{1}!

注:若需要换行可以在文本后面加上"<br>";

以上的例子只是说明了资源文件的使用方法,但是如果就想这样来显示中文提示信息是不可行的,


转换的命令是:
native2ascii -encoding gb2312 ApplicationResources.properties ApplicationResources_zh_CN.properties

native2ascii命令是Java JDK目录下BIN目录里的一个可执行文件,若发现不能执行,请修改系统环境变量,即在Path变量里加入"X:\...\jdk1.5.1\bin;",修改完需要重新启动系统所配置的环境变量才可生效。
可将命令制作成批命令,注意:转换格式后,在工程里需要手动刷新文件,否则项目不会识别你所做的改动


到这里Validator验证框架的所有配置已经完成此时你只要在页面相应位置放入<html:errors/>标签即可显示,这样是将所有的错误在同一个地方显示,若想实在在每个输入控件后面显示错误提示,就必须手动设置标签的属性,如:<html:errors property="XXX">;

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1681576

分享到:
评论

相关推荐

    Struts的Validator验证框架使用教程

    Struts的Validator验证框架是Java Web开发中常用的一个组件,主要用于处理用户输入的数据验证。它提供了强大的、可扩展的验证规则,使得开发者可以方便地在应用程序中实施数据校验,从而保证了数据的准确性和安全性...

    Validator验证框架 回顾ActionForm的表单验证,掌握Validator验证框架.zip

    本教程将通过回顾ActionForm的表单验证方式,深入探讨如何有效地掌握Validator验证框架。 ActionForm是早期ASP.NET MVC框架中用于处理表单提交的类,它包含了验证逻辑,但随着技术的发展,现在更多地推荐使用...

    Validator验证框架

    Validator验证框架,STRUTS动态验证的规则与规范!

    Struts1的validator验证框架

    ### Struts1的Validator验证框架详解 在Java Web开发领域,Struts1作为一个经典且流行的MVC框架,提供了丰富的功能来构建动态Web应用。其中,Validator框架是Struts1用于客户端和服务端表单验证的强大工具,它能...

    Validator验证框架.pdf

    Validator验证框架是一种强大的工具,它与Struts框架结合使用,用于实现Web应用程序中的数据验证功能。通过使用Validator框架,开发人员可以简化验证逻辑,提高代码的可维护性和重用性。本文将详细介绍Validator框架...

    struts中使用validator验证框架

    Validator框架是Struts的一个重要组件,主要负责处理用户输入的数据验证,确保数据的完整性和正确性。在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先...

    struts1.x使用common-validator验证框架

    此外,Struts1.x的验证框架不仅限于服务器端验证,也可以结合JavaScript进行客户端验证,以提高用户体验。客户端验证可以通过在JSP页面中引入Struts的JavaScript库,然后利用`&lt;html:javascript&gt;`标签生成相应的验证...

    struts validator验证框架项目

    Struts Validator是一个强大的验证框架,它是Apache Struts框架的一部分,用于在Java Web应用程序中实现数据输入验证。这个项目集成了验证规则,使得开发者能够轻松地确保用户提交的数据符合预期的格式和约束,从而...

    Struts Validator验证框架详细讲解.txt

    ### Struts Validator 验证框架详细讲解 #### 引言 在Java Web开发中,数据验证是确保应用程序安全性和用户体验的重要环节。Struts框架作为早期流行的MVC框架之一,提供了强大的验证机制——Struts Validator,它...

    掌握Validator验证框架.pptx

    掌握Validator验证框架.pptx

    struts validator验证框架例子

    Struts Validator是一个强大的验证框架,它是Apache Struts项目的一部分,专为Java Web应用程序设计,用于实现数据输入验证。Struts框架本身是一个MVC(模型-视图-控制器)架构,而Validator则是它的一个核心组件,...

    Struts validator验证框架

    Struts Validator是一个强大的验证框架,它是Apache Struts框架的一部分,用于在Java Web应用程序中实现数据验证。这个框架帮助开发者在用户提交表单时确保输入的数据是合法、完整且符合业务规则的,从而提高应用...

    validator验证框架的简单使用(struts)

    在本教程中,我们将深入探讨如何在Struts应用中简单使用Validator框架,主要关注`validator.xml`配置文件的使用。 首先,让我们理解Validator框架的核心概念。Validator框架提供了一种声明式的方式来定义验证规则,...

    《使用Validator做SpringMVC的验证框架》教程源码

    《使用Validator做SpringMVC的验证框架》教程源码 教程地址: http://blog.csdn.net/devefx/article/details/51565139 http://blog.csdn.net/devefx/article/details/51567533 ...

    validator独立框架验证小例子

    Apache Commons Validator就是这样一个强大的验证框架,它为Java应用程序提供了灵活且可扩展的数据验证功能。本篇文章将深入探讨Apache Commons Validator框架,并通过一个简单的小例子来演示其使用方法。 Apache ...

    基于Java语言的Fluent-Validator验证框架设计源码

    该项目是一款基于Java语言的Fluent-Validator验证框架设计源码,包含171个文件,涵盖148个Java源文件、10个属性文件、7个XML文件、2个Markdown文件、1个Git忽略文件、1个YAML文件、1个许可证文件、1个Shell脚本以及1...

    《使用Validator做SpringMVC的验证框架》教程源码(完整版)

    《使用Validator做SpringMVC的验证框架》教程源码 教程地址: http://blog.csdn.net/devefx/article/details/51565139 http://blog.csdn.net/devefx/article/details/51567533 ...

    struts 的validator框架验证

    Struts的Validator框架是Java Web开发中用于处理用户输入验证的一种强大的工具,它与MVC架构中的控制器层紧密结合,提供了一种便捷的方式来确保用户提交的数据符合预设的业务规则。这个框架大大简化了数据验证的过程...

    Struts Validator验证器使用指南

    **Struts Validator** 是一个强大的框架,用于简化Web应用程序中的表单验证过程。它首次出现在Struts 0.5版本中,并逐渐发展成为Struts 1.1版本的重要组成部分之一。在Struts 1.1中,验证器的功能得到了显著增强,...

    jquery validator js验证框架

    **jQuery Validator JS验证框架** jQuery Validator是一个强大的JavaScript库,它为HTML表单提供了方便而灵活的验证功能。这个框架基于jQuery库,使得在网页中实现客户端验证变得简单易行。通过使用jQuery ...

Global site tag (gtag.js) - Google Analytics