可用的欄位規則
更新:2007 年 11 月
欄位規則定義了欄位的行為與條件約束。欄位規則是列在 <FIELD></FIELD> 區塊內的額外項目,例如,如果某個欄位是必要欄位,則定義該欄位的 XML 看起來可能會像下面這樣:
<FIELD refname="System.Priority" name="Priority" type="String">
<HELPTTEXT>Enter the business priority of the bug</HELPTEXT>
<REQUIRED />
</FIELD>
可用的欄位規則
您可以使用下列欄位規則來變更欄位的行為:
<REQUIRED />
這個欄位不可以留白,您可以將任何欄位型別標記為必要欄位。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 REQUIRED 項目 (工作項目類型定義結構描述)。
<READONLY />
這個欄位不可以修改。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 READONLY 項目 (工作項目類型定義結構描述)。
<EMPTY />
欄位值在認可時會被清除,使用者無法輸入任何值。這項規則主要是用於狀態轉換期間,以清除適用於已轉換狀態的欄位。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 EMPTY 項目 (工作項目類型定義結構描述)。
<FROZEN/>
一旦欄位的值經過認可後,就無法再修改這個值。不過,還是可以使用 <EMPTY/> 條件約束來清除該欄位。使用者可以手動清除欄位、儲存工作項目,然後在重新載入時指定不同的值。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 FROZEN 項目 (工作項目類型定義結構描述)。
<CANNOTLOSEVALUE/>
在欄位取得某個值之後,就無法清除它的值或讓它成為空白。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 CANNOTLOSEVALUE 項目 (工作項目類型定義結構描述)。
<NOTSAMEAS field="MyCorp.Reviewer" />
這個欄位的值不可以和其他欄位的值相同;在這種情況下,就要使用 "MyCorp.Reviewer” 欄位。欄位值必須是有效的欄位參考名稱。如需詳細資訊,請參閱 欄位參考名稱。
下面是使用 NOTSAMEAS 欄位規則的範例:
兩個欄位不能同時空白
「程式碼檢閱者」欄位的值不能和「指派給」欄位的值相同
請針對相似型別的欄位使用這項規則,您無法將這項規則用於 PlainText 或 HTML 欄位。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 NOTSAMEAS 項目 (工作項目類型定義結構描述)。
<VALIDUSER group="group" />
此欄位值必須是屬於 [Team Foundation Valid Users] 群組成員的有效使用者。
這項規則支援選擇性的群組屬性,以便指定使用者必須是指定群組的直接或間接成員。根據預設,此規則會啟用屬於 [Team Foundation Valid Users] 群組成員的所有使用者。如需詳細資訊,請參閱 使用語彙基元參考使用者和群組。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 VALIDUSER 項目 (工作項目類型定義結構描述)。
注意事項: |
---|
如果沒有指定 <REQUIRED/> 規則,這個欄位會接受空白值。請用於 String 欄位型別。 |
注意事項: |
---|
工作項目欄位無法辨別不同網域的使用者識別,因此,如果在使用 <VALIDUSER /> 規則的欄位中輸入「Example1\jaepak」和「Example2\jaepak」,此欄位會將這兩者視為是相同的使用者。不過,Team Foundation Server 的其他地方可以依據網域來辨別使用者識別。 |
<ALLOWEXISTINGVALUE/>
允許欄位保留現有的值,即使這個值已經不再啟用。替代與預設行為是在編輯期間強制使用者輸入的值要符合該欄位最新啟用的值。這個項目只對相同區塊中的項目具有修改效用,這個項目無法接受 for 或 not 屬性。如需詳細資訊,請參閱 ALLOWEXISTINGVALUE 項目 (工作項目類型定義結構描述)。
<ALLOWEDVALUES/>
以清單方式呈現給使用者查看的欄位值列舉清單。使用者必須在這份清單中選取其中一個值這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 ALLOWEDVALUES 項目 (工作項目類型定義結構描述)。
<SUGGESTEDVALUES/>
以清單方式呈現給使用者查看的欄位值列舉清單。使用者可以選取任何一個值,或者也可以自己輸入一個沒有列在建議清單中的值這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 SUGGESTEDVALUES 項目 (工作項目類型定義結構描述)。
<PROHIBITEDVALUES/>
如果欄位包含了任何禁止使用的值,使用者就無法儲存工作項目。通常,如果某個值先前是允許的值,但現在已經無效了,就會使用禁止使用的值這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 PROHIBITEDVALUES 項目 (工作項目類型定義結構描述)。
<DEFAULT>
當使用者建立新的工作項目或編輯某個工作項目時,如果欄位是空白的,<DEFAULT> 項目就會填入某個欄位值。如果欄位已經填入某個值,就會忽略 default 規則這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 DEFAULT 項目 (工作項目類型定義結構描述)。
注意事項: |
---|
變更工作項目時,此項目規則在從另一個欄位中選取目前或先前的值時屬於非決定性的。 |
<COPY>
當使用者建立新的工作項目或變更某個工作項目時,不論欄位中是否已經填入任何現有值,<COPY> 項目都會填入某個欄位值。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 COPY 項目 (工作項目類型定義結構描述)。
注意事項: |
---|
變更工作項目時,此項目規則在從另一個欄位中選取目前或先前的值時屬於非決定性的。 |
<SERVERDEFAULT>
不同於 <DEFAULT> 和 <COPY> 會在編輯一開始時就填入欄位值,<SERVERDEFAULT> 規則是在資料庫認可工作項目後填入欄位值。這是發生在儲存階段,使用者無法覆寫該欄位值。這種欄位會以唯讀狀態出現在表單上,而這個規則是用於像是 [上次變更者] 和 [上次變更時間] 這種欄位,以支援安全稽核記錄這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 SERVERDEFAULT 項目 (工作項目類型定義結構描述)。
<MATCH pattern="<pattern>"/>
只會對字串強制施行基本模式比對,<pattern> 應該使用比對模式來加以取代。有效值為 A、N、X,所有其他的值都被視為是常值。A 表示字母;N 表示數字;X 則表示任何英數字元。這個模式只支援 String 型別的欄位。這個項目會接受 for 和 not 屬性。如需詳細資訊,請參閱 MATCH 項目 (工作項目類型定義結構描述)。
模式比對範例
下列範例示範各種欄位使用模式比對時的成功與失敗案例:
版本號碼
模式:ANN.NN.NN
通過驗證 |
R01.03.04 或 V05.08.99 |
驗證失敗 |
1.3.4 或 V5.8.99 或 v1.3 |
彈性識別項
模式:XXX-XXX
通過驗證 |
001-abc 或 a00-b02 |
驗證失敗 |
1-abc 或 001.abc |
優先權
模式:PN
通過驗證 |
P1 或 P5 或 P9 |
驗證失敗 |
1 或 P10 |
比對標記沒有區分大小寫,因此 P1 和 p1 都符合 PN 的模式。
注意事項: |
---|
您可以指定多個 <MATCH> 項目,至少有一個項目成功時,欄位就具有有效值。 |