⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validation.xml

📁 包含了struts初级知识、Struts核心机制及国际化、Struts核心组件及运行机制、Struts高级部分-Action详解、Validator验证框架、Struts标记库等众多内容 欢迎大家下载
💻 XML
字号:
<?xml version="1.0" encoding="GBK" ?>

<!-- 这是XML语法的规则,指明本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>
    <global>
        <constant>
            <constant-name>phone</constant-name>
            <constant-value>^\d{8}\d*$</constant-value>
			<!--表示必须为8位的数字-->
        </constant>  
		<constant>
            <constant-name>zipcode</constant-name>
            <constant-value>^\d{6}\d*$</constant-value>
			<!--表示必须为6位的数字-->
        </constant>  
    </global>
    <formset>
        <form name="logonForm">
            <field property="phone" depends="required,mask,minlength">                              
              <arg0 key="logonForm.phone"/>
			  <arg1 name="minlength" key="${var:aaa}" resource="false" />
			  <var>
			      <var-name>mask</var-name>
				  <var-value>${phone}</var-value>
			  </var>
			  <var>
			      <var-name>aaa</var-name>
				  <var-value>7</var-value>
			  </var>
            </field>  
		</form>	
    </formset>
</form-validation>
  
<!--###################################################################################################################
说明:

1.<form-validation>元素
  这是根元素,它包含两个子元素,<global>和<formset>;<global>可以出现0此或多次,<formset>可以出现一次或多次

2.<global>元素
  在<global>元素中可以出现<constant>子元素,用来定义常量表达式.而在文件的其他部分,可以引用这些常量表达式
  在上面的文件中定义了两个常量phone和zipcode,在<formset>中可以通过${phone}形式来引用电话常量

3.<formset>元素
  <formset>元素中可以出现两个子元素:<constant>和<form>.<constant>可以出现0次或多次;<form>可以出现一次或
  多次.
  注意:在<global>出现<constant>子元素表示全局常量 ,在<formset>中出现<constant>表示局部常量

4.<form>元素
  <formset>的<form>子元素用于位某个表单定制校验规则.它的name属性指定了表单的名称.在<form>元素中可以出现
  一个或多个<field>子元素
  
5.<field>元素
  <field>元素用于配置表单中某个字段的校验规则;property属性指定要校验的字段,depends属性指定字段的校验规则
  多个规则用","分隔.

6.<msg>元素
  在<field>元素中可以不出现或出现一次<msg>子元素,该子元素指定校验规则对应的消息文本,该消息文本将替代在
  Validator-rules.xml文件中位校验规则配置的默认的消息文本
  例如:
  <field property="phone" depends="required,mask,minlength">
      <msg name="mask" key="phone.invalidformat" >
  </field>	 
  以上的代码表明,当mask校验失败时,错误消息文本来自于Resource Bundle,消息的key位phone.invalidformaf
  <msg>元素有三个属性:
     name属性:指定校验规则的名称
     key属性:当rsource属性位true时,key属性指定消息的key,该消息的key应该在Resource Bundle文件中存在.
	         如果rsource属性位false,则key属性直接指定消息文本
     resource属性:为true时,表示使用来自Resource Bundle的消息,如果为false,表示直接在key属性中设置文
	         本消息 .默认为true;

7.<arg>元素
  <field>元素可以有四个附加的子元素<arg0>,<arg1>,<arg2>,<arg3>,可以不出现或出现一次.用于替换复合消息中的参数
  <arg>元素有三个属性,name,key,resource,类似于<msg>的属性
  
  在上面的文件中,没有出现<msg>元素.如果某个校验规则失败,将使用在Validator-rules.xml中默认的消息文本.例如当
  minlength规则校验失败的时候,将使用在Validator-rules.xml中设置的消息,key为"error.minlength"
  "error.minlength"对应的消息为"{0} can not be greater than {1} characters."
  
  <arg0>没有设置name属性,使用于所有的校验规则,它将取代以上复合消息中的第一个参数{0},<arg0>的key为"logonForm.phone"
  在Resource Bundle中与之匹配的是:logonForm.phone = 电话
   
  <arg1>的name属性指定为minlength,表示仅是适用于minlength校验规则,它将取代以上复合消息中的第二个{1}.<arg1>的
  resource="false",表示此时key的属性不来自于Resource Bundle,而是直接来自指定文本,key的属性由变量${minlength}来决定
  此时的值为7

  最后,以上复合消息的为:电话不能少于7个字符

8.<var>元素
  <field>元素可以出现0个或多个<var>子元素.<var>元素用来向校验规则传递参数,在上面的例子中
      ----------------------------------------------------------------
	  <var>
		<var-name>mask</var-name>
		<var-value>${phone}</var-value>
      </var>   
	  ----------------------------------------------------------------
  phone的常量值为^\d{8}\d*$,被传递给mask校验规则,表示8位的数字
  
  <arg>元素也可以范围<var>元素,例如:
	  ----------------------------------------------------------------
	  <arg1 name="minlength" key="${var:minlength}" resource="false" />
	  ...
	  <var>
		  <var-name>minlength</var-name>
		  <var-value>7</var-value>
	  </var>
	  ----------------------------------------------------------------
###################################################################################################################-->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -