可用的字段规则
更新: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> 元素将填写一个字段值。如果字段已具有值,则忽略默认规则。此元素接受 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 |
匹配标记是不区分大小写的,因此“PN”同时匹配 P1 和 p1。
![]() |
---|
可以指定多个 <MATCH> 元素。如果至少有一个元素成功,则字段具有有效值。 |