Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Элемент пользовательского интерфейса TextBox можно использовать для добавления неформатированного текста. Элемент представляет собой однострочное поле ввода, но поддерживает многострочный ввод со свойством multiLine.
Пример элемента пользовательского интерфейса
Элемент TextBox представляет собой однострочное или многострочное текстовое поле.
Пример однострочного текстового поля.
Пример многострочного текстового поля.
Схема
{
"name": "nameInstance",
"type": "Microsoft.Common.TextBox",
"label": "Name",
"defaultValue": "contoso123",
"toolTip": "Use only allowed characters",
"placeholder": "",
"multiLine": false,
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z]{1,30}$",
"message": "Only alphanumeric characters are allowed, and the value must be 1-30 characters long."
},
{
"isValid": "[startsWith(steps('resourceConfig').nameInstance, 'contoso')]",
"message": "Must start with 'contoso'."
}
]
},
"visible": true
}
Пример полученных результатов
"contoso123"
Замечания
- Используйте свойство
toolTipдля отображения текста об элементе при наведении курсора мыши на информационный символ. - Свойство
placeholderпредставляет собой текст справки, который исчезает, когда пользователь начинает редактирование. ЕслиplaceholderиdefaultValueопределены оба,defaultValueимеет приоритет и отображается. - Свойство
multiLineявляется логическим,trueилиfalse. Чтобы использовать многострочное текстовое поле, задайте для свойства значениеtrue. Если многострочное текстовое поле не требуется, установите для свойства значениеfalseили исключите свойство. Для новых строк вывод JSON отображает\nдля перевода строки. Многострочное текстовое поле допускает использование\rдля возврата каретки (CR) и\nдля перевода строки (LF). Например, значение по умолчанию может включать указание\r\nвозврата каретки и канала строки (CRLF). - Если для
constraints.requiredзадано значениеtrue, текстовое поле должно содержать значение, чтобы пройти проверку. Значение по умолчанию —false. - Свойство
validations— это массив, в который вы добавляете условия для проверки значения, указанного в текстовом поле. - Свойство
regex— это шаблон регулярного выражения JavaScript. Если оно указано, значение текстового поля должно соответствовать шаблону, чтобы пройти проверку. Значение по умолчанию —null. Дополнительные сведения о синтаксисе регулярных выражений см. в статье Краткий справочник по регулярным выражениям. - Свойство
isValidсодержит выражение, результатом вычисления которого являетсяtrueилиfalse. В выражении вы указываете условие, которое определяет, допустимо ли текстовое поле. - Свойство
message— это строка, которая отображается, когда значение в текстовом поле не проходит проверку. - Можно указать значение для
regex, если дляrequiredзадано значениеfalse. В этом случае, чтобы пройти проверку, значение для текстового поля не требуется. Если указано, оно должно соответствовать шаблону регулярного выражения.
Примеры
Примеры показывают, как использовать однострочное и многострочное текстовые поля.
Одна строка
В следующем примере используется текстовое поле с элементом управления Microsoft.Solutions.ArmApiControl для проверки доступности имени ресурса.
В этом примере при вводе имени учетной записи хранения и выходе из текстового поля элемент управления проверяет, является ли имя допустимым и доступно ли оно. Если имя недопустимо или уже существует, отображается сообщение об ошибке. В выходных данных отображается допустимое и доступное имя учетной записи хранения.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "nameApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "POST",
"path": "[concat(subscription().id, '/providers/Microsoft.Storage/checkNameAvailability?api-version=2021-09-01')]",
"body": {
"name": "[basics('txtStorageName')]",
"type": "Microsoft.Storage/storageAccounts"
}
}
},
{
"name": "txtStorageName",
"type": "Microsoft.Common.TextBox",
"label": "Storage account name",
"constraints": {
"validations": [
{
"isValid": "[basics('nameApi').nameAvailable]",
"message": "[basics('nameApi').message]"
}
]
}
}
],
"steps": [],
"outputs": {
"textBox": "[basics('txtStorageName')]"
}
}
}
Несколько строк
В этом примере свойство multiLine используется для создания многострочного текстового поля с текстом-заполнителем.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "demoTextBox",
"type": "Microsoft.Common.TextBox",
"label": "Multi-line text box",
"defaultValue": "",
"toolTip": "Use 1-60 alphanumeric characters, hyphens, spaces, periods, and colons.",
"placeholder": "This is a multi-line text box:\nLine 1.\nLine 2.\nLine 3.",
"multiLine": true,
"constraints": {
"required": true,
"validations": [
{
"regex": "^[a-z0-9A-Z -.:\n]{1,60}$",
"message": "Only 1-60 alphanumeric characters, hyphens, spaces, periods, and colons are allowed."
}
]
},
"visible": true
}
],
"steps": [],
"outputs": {
"textBox": "[basics('demoTextBox')]"
}
}
}
Следующие шаги
- Общие сведения о создании определений пользовательского интерфейса см. в статье Использование CreateUiDefinition.jsоn при создании управляемого приложения Azure.
- Дополнительные сведения об общих свойствах элементов пользовательского интерфейса см. в статье Элементы CreateUiDefinition.
- Дополнительные сведения о функциях см. в статье Функции CreateUiDefinition.