Доступные правила для полей
Обновлен: Ноябрь 2007
Правила для полей определяют поведение полей и их ограничения. Правила для полей — это дополнительные элементы, которые перечисляются внутри блоков <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.
Это правило поддерживает необязательный атрибут группы, в котором указывается, что пользователь должен быть непосредственным или косвенным членом заданной группы. По умолчанию правило включает всех пользователей, которые являются членами группы Действительные пользователи Team Foundation. Дополнительные сведения см. в разделе Использование лексем для ссылок на пользователей и группы. Этот элемент принимает атрибуты 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>. Если есть хотя бы одно успешное соответствие, тип поля считается допустимым. |