Microsoft.Common.TextBox, element interfejsu użytkownika
Element TextBox
interfejsu użytkownika może służyć do dodawania niesformatowanych tekstu. Element jest jednowierszowym polem wejściowym, ale obsługuje wprowadzanie wielowierszowe z właściwością multiLine
.
Przykład interfejsu użytkownika
Element TextBox
używa jednowierszowego lub wielowierszowego pola tekstowego.
Przykład jednowierszowego pola tekstowego.
Przykład pola tekstowego z wieloma wierszami.
Schemat
{
"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
}
Przykładowe dane wyjściowe
"contoso123"
Uwagi
toolTip
Użyj właściwości , aby wyświetlić tekst o elemecie po umieszczeniu kursora myszy na symbolu informacji.- Właściwość
placeholder
to tekst pomocy, który zniknie po rozpoczęciu edytowania przez użytkownika.placeholder
Jeśli parametr idefaultValue
są zdefiniowane,defaultValue
ma pierwszeństwo i jest wyświetlany. - Właściwość
multiLine
jest wartością logicznątrue
lubfalse
. Aby użyć wielowierszowego pola tekstowego, ustaw właściwość natrue
. Jeśli pole tekstowe wielowierszowe nie jest potrzebne, ustaw właściwość nafalse
lub wykluczyć właściwość. W przypadku nowych wierszy dane wyjściowe JSON są wyświetlane\n
dla kanału informacyjnego wiersza. Wielowierszowe\r
pole tekstowe akceptuje zwrot karetki (CR) i\n
dla kanału informacyjnego wiersza (LF). Na przykład wartość domyślna może obejmować\r\n
określenie crLF. - Jeśli
constraints.required
ustawionotrue
wartość , pole tekstowe musi mieć wartość do pomyślnego zweryfikowania. Wartość domyślna tofalse
. - Właściwość to tablica
validations
, w której można dodawać warunki sprawdzania wartości podanej w polu tekstowym. - Właściwość
regex
jest wzorcem wyrażenia regularnego języka JavaScript. Jeśli zostanie określona, wartość pola tekstowego musi być zgodna ze wzorcem, aby pomyślnie zweryfikować. Wartość domyślna tonull
. Aby uzyskać więcej informacji na temat składni regex, zobacz Szybki przewodnik dotyczący wyrażenia regularnego. - Właściwość
isValid
zawiera wyrażenie, które daje wartośćtrue
lubfalse
. W wyrażeniu zdefiniujesz warunek określający, czy pole tekstowe jest prawidłowe. - Właściwość
message
jest ciągiem do wyświetlenia, gdy wartość pola tekstowego kończy się niepowodzeniem walidacji. - Istnieje możliwość określenia wartości dla
regex
parametru , gdyrequired
jest ustawiona wartośćfalse
. W tym scenariuszu wartość nie jest wymagana, aby pole tekstowe zostało pomyślnie zweryfikowane. Jeśli zostanie określony, musi być zgodny ze wzorcem wyrażenia regularnego.
Przykłady
W przykładach pokazano, jak używać jednowierszowego pola tekstowego i pola tekstowego wielowierszowego.
Jednowierszowe
W poniższym przykładzie użyto pola tekstowego z kontrolką Microsoft.Solutions.ArmApiControl w celu sprawdzenia dostępności nazwy zasobu.
W tym przykładzie po wprowadzeniu nazwy konta magazynu i wyjściu z pola tekstowego kontrolka sprawdza, czy nazwa jest prawidłowa i czy jest dostępna. Jeśli nazwa jest nieprawidłowa lub już istnieje, zostanie wyświetlony komunikat o błędzie. Nazwa konta magazynu, która jest prawidłowa i dostępna, jest wyświetlana w danych wyjściowych.
{
"$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')]"
}
}
}
Wiele wierszy
W tym przykładzie multiLine
użyto właściwości do utworzenia pola tekstowego wielowierszowego z tekstem zastępczym.
{
"$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')]"
}
}
}
Następne kroki
- Aby zapoznać się z wprowadzeniem do tworzenia definicji interfejsu użytkownika, zobacz CreateUiDefinition.json dla środowiska tworzenia aplikacji zarządzanej platformy Azure.
- Opis typowych właściwości w elementach interfejsu użytkownika można znaleźć w temacie CreateUiDefinition elements (Tworzenie elementów createUiDefinition).
- Aby dowiedzieć się więcej na temat funkcji, zobacz CreateUiDefinition functions (Funkcje CreateUiDefinition).