?? validation.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 + -