`
qxmcool
  • 浏览: 93634 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

struts动态验证文件

阅读更多


validator-rules.xml
--------------------------------

<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<!--
  $Id: validator-rules.xml,v 1.1.2.1 2006/07/01 20:50:46 eugene-proddev Exp $

   This file contains the default Struts Validator pluggable validator
   definitions.  It should be placed somewhere under /WEB-INF and
   referenced in the struts-config.xml under the plug-in element
   for the ValidatorPlugIn.

      <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
                                                  /WEB-INF/validation.xml"/>
      </plug-in>

   These are the default error messages associated with
   each validator defined in this file.  They should be
   added to your projects ApplicationResources.properties
   file or you can associate new ones by modifying the
   pluggable validators msg attributes in this file.

   # Struts Validator Error Messages
   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.

   Note: Starting in Struts 1.2.0 the default javascript definitions have
         been consolidated to commons-validator. The default can be overridden
         by supplying a <javascript> element with a CDATA section, just as
         in struts 1.1.

-->

<form-validation>

   <global>
<!-- 不为空 -->
      <validator name="required"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateRequired"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
                  msg="errors.required"/>

      <validator name="requiredif"
                 classname="org.apache.struts.validator.FieldChecks"
                 method="validateRequiredIf"
                 methodParams="java.lang.Object,
                               org.apache.commons.validator.ValidatorAction,
                               org.apache.commons.validator.Field,
                               org.apache.struts.action.ActionMessages,
                               org.apache.commons.validator.Validator,
                               javax.servlet.http.HttpServletRequest"
                 msg="errors.required"/>
<!-- 在某种条件下验证 -->
      <validator name="validwhen"
          msg="errors.required"
                 classname="org.apache.struts.validator.validwhen.ValidWhen"
                 method="validateValidWhen"
                 methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"/>

<!-- 最小长度 -->
      <validator name="minlength"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateMinLength"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.minlength"
           jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>

<!-- 最大长度 -->
      <validator name="maxlength"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateMaxLength"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.maxlength"
           jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>


<!-- 正则表达式 -->
      <validator name="mask"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateMask"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.invalid"/>


      <validator name="byte"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateByte"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.byte"
       jsFunctionName="ByteValidations"/>


      <validator name="short"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateShort"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.short"
       jsFunctionName="ShortValidations"/>

<!-- 是否是整数 -->
      <validator name="integer"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateInteger"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.integer"
       jsFunctionName="IntegerValidations"/>


<!-- 是否是长整数 -->
      <validator name="long"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateLong"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.long"/>


      <validator name="float"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateFloat"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.float"
       jsFunctionName="FloatValidations"/>

      <validator name="double"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateDouble"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.double"/>


      <validator name="date"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateDate"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.date"
       jsFunctionName="DateValidations"/>

<!-- 整数范围 -->
      <validator name="intRange"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateIntRange"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends="integer"
                  msg="errors.range"/>


      <validator name="floatRange"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateFloatRange"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends="float"
                  msg="errors.range"/>

      <validator name="doubleRange"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateDoubleRange"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends="double"
                  msg="errors.range"/>


      <validator name="creditCard"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateCreditCard"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.creditcard"/>

<!-- 是否是email格式 -->
      <validator name="email"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateEmail"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.email"/>

      <validator name="url"
            classname="org.apache.struts.validator.FieldChecks"
               method="validateUrl"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       org.apache.commons.validator.Validator,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.url"/>

     <!--
       This simply allows struts to include the validateUtilities into a page, it should
       not be used as a validation rule.
     -->
     <validator name="includeJavaScriptUtilities"
            classname=""
               method=""
         methodParams=""
              depends=""
                  msg=""
           jsFunction="org.apache.commons.validator.javascript.validateUtilities"/>

   </global>

</form-validation>


--------------------------------

validation.xml

<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation> <!-- 在这里写验证 -->
<formset> <!-- 写表单验证,可以写多个 -->
<form name="regForm"> <!-- 验证某个表单,name是ActionForm名字 -->
<!-- 验证属性 -->
<field property="cname" depends="required">
<msg name="required" key="error.null"/> <!-- key:消息key -->
<arg0 name="required" key="cname" resource="false"/> <!--key:参数值  -->
</field>


<field property="phone" depends="required,long,minlength,maxlength">
<msg name="required" key="error.null"/>
<arg0 name="required" key="phone" resource="false"/> <!--key:参数值  -->
<msg name="long" key="error.number"/>
<arg0 name="long" key="phone" resource="false"/>

<msg name="minlength" key="error.minlength"/>
<arg0 name="minlength" key="phone" resource="false"/>
<arg1 name="minlength" key="${var:minlength}" resource="false"/>
<var> <!-- 设定门限 -->
<var-name>minlength</var-name> <!-- name是规定的 -->
<var-value>7</var-value>
</var>

</form>
</formset>
</form-validation>

--------------------------------

<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
     <set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
分享到:
评论

相关推荐

    Struts动态表单验证

    Struts动态表单验证是Java Web开发中一个关键的实践,尤其在构建MVC(Model-View-Controller)架构的应用程序时。Struts框架提供了一种有效的方法来处理用户输入并确保数据的完整性和安全性。在这个主题中,我们将...

    struts7验证框架 struts7验证框架

    例如,我们可以定义一个验证文件(如validation.xml),其中包含每个表单字段的验证规则: ```xml 用户名不能为空! 密码不能为空! &lt;param name="minLength"&gt;6 &lt;param name="maxLength"&gt;15 ...

    关于struts表单验证

    在处理验证错误时,如果`validate()`方法返回的ActionErrors对象包含ActionMessage,Struts会将请求转发到struts.xml配置文件中`&lt;action&gt;`元素的`input`属性指定的资源。这样,用户可以看到错误消息,并有机会更正...

    struts的表单验证

    在struts-config.xml配置文件中,可以指定验证规则文件的位置。这些规则文件通常位于`src/main/resources`目录下,例如`validation.xml`或`struts-validator.xml`。 4. 实践应用: 在实际开发中,我们需要结合...

    Struts动态表单验证Demo视频

    总的来说,"Struts动态表单验证Demo视频"是学习Struts框架中动态表单验证功能的一个宝贵资源,对于Java Web开发者来说,掌握这一技能可以大大提高开发效率,减少因数据验证问题导致的bug。记得在观看过程中,结合源...

    struts2验证配置文件

    Struts2验证配置文件用于定义这些规则,避免了在代码中进行繁琐的验证逻辑。 在给出的文件内容中,我们可以看到一个典型的Struts2验证配置文件,它遵循XWork验证框架的XML格式。这个文件定义了多个字段(field)...

    struts2验证框架参数

    在Struts2中,验证规则通常定义在XML配置文件中,通常是与特定Action关联的`validation.xml`文件内。这些规则通过一系列预定义的验证器来实现,每个验证器都有其独特的功能和参数,下面将详细介绍其中几种常见的验证...

    struts2验证框架示例

    在struts.xml配置文件中,我们可以这样定义: ```xml &lt;param name="excludeMethods"&gt;input,back,cancel,browse &lt;result name="success"&gt;/success.jsp &lt;result name="input"&gt;/input.jsp ``` 这里,我们...

    struts2验证框架简单示例

    1. **XML配置**:在`struts.xml`或特定的验证配置文件中定义验证规则。例如: ```xml &lt;package name="default" extends="struts-default"&gt; &lt;param name="excludeMethods"&gt;input,back,cancel,browse ...

    Struts1.2动态表单注册 验证实例(2)

    总的来说,这个实例涵盖了Struts1.2中的基础应用,包括Action、表单Bean、配置文件、验证框架和JSP页面的使用。通过学习和实践这个例子,开发者可以深入理解Struts的工作原理,以及如何利用它来构建功能丰富的Web...

    Apache+Struts2验证

    3. **正确配置**:正确设置Struts2的配置文件,如struts.xml,避免过度信任用户输入。 4. **输入验证**:对所有用户输入进行严格的验证和过滤,减少恶意数据注入的可能性。 5. **使用安全拦截器**:利用Struts2的...

    ·Struts2配置文件介绍 超级详细

    ### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...

    struts1验证框架相当好的经典例子

    在Struts1中,验证框架是处理用户输入数据校验的重要组成部分,它帮助开发者确保用户提交的数据符合预定义的规则,从而提高应用程序的安全性和用户体验。下面将详细介绍Struts1验证框架的使用。 首先,我们来看一下...

    struts表单验证讲解视频教程

    1. 验证规则定义:Struts的验证通常有两种方式,一种是在ActionForm类中添加校验方法,另一种是使用XML配置文件定义验证规则。XML配置文件通常位于`struts-config.xml`或`struts-validation.xml`中,包含字段名称、...

    struts2 实现文件批量上传

    4. **文件验证**:在处理文件上传时,通常需要对文件大小、类型等进行验证。这可以通过自定义拦截器或在Action类的方法中实现。 5. **文件存储**:上传的文件需要存储在服务器的某个位置。可以选择临时目录、特定的...

    一个Struts1多文件上传实例(附Form中传List示例)

    在Action类中,你需要处理上传的文件,包括验证文件大小、类型,以及保存到服务器的指定位置。这个过程通常涉及对Commons FileUpload库的调用,如`FileItemIterator`和`FileItemStream`接口的使用。 6. **异常处理...

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

    前者允许动态地定义验证规则,而后者则基于静态定义的规则进行验证。 此外,Struts Validator还支持客户端验证。通过在JSP页面中使用特定的标签,可以生成JavaScript代码,实现在数据提交前的即时验证,提高用户...

    struts验证器validator使用,以及自定义验证器

    本文将详细介绍Struts验证器Validator的使用,包括基础配置、自定义验证器的创建,以及如何在Maven项目中管理和使用Eclipse进行编译。 **一、Struts验证器Validator的基本概念** Struts Validator是Struts框架提供...

    struts2文件上传

    在Action中,你可能还需要验证文件类型和大小,然后将文件保存到服务器的指定位置。例如: ```java public String execute() { // 验证文件大小和类型 if (file != null && !file.getName().endsWith(".txt")) { ...

Global site tag (gtag.js) - Google Analytics