Benutzeroberflächenelement „Microsoft.Common.TextBox UI“

Ein Benutzeroberflächenelement (UI), das zum Hinzufügen von unformatiertem Text verwendet werden kann. Das Microsoft.Common.TextBox-Element ist ein einzeilige Eingabefeld, unterstützt jedoch mehrzeilige Eingaben mit der multiLine-Eigenschaft.

Benutzeroberflächenbeispiel

Das TextBox-Element verwendet ein einzeiliges oder mehrzeiliges Textfeld.

Microsoft.Common.TextBox element single-line text box.

Microsoft.Common.TextBox element multi-line text box.

Schema

{
  "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
}

Beispielausgabe

"contoso123"

Bemerkungen

  • Verwenden Sie die toolTip-Eigenschaft, um Text zum Element anzuzeigen, wenn sich der Mauszeiger über dem Informationssymbol befindet.
  • Die placeholder-Eigenschaft ist Hilfetext, der ausgeblendet wird, wenn der Benutzer mit der Bearbeitung beginnt. Wenn sowohl placeholder als auch defaultValue definiert ist, hat defaultValue Vorrang und wird angezeigt.
  • Die multiLine-Eigenschaft ist ein boolescher Wert, true oder false. Um ein mehrzeiliges Textfeld zu verwenden, legen Sie die Eigenschaft auf true fest. Wenn kein mehrzeiliges Textfeld benötigt wird, legen Sie die Eigenschaft auf false fest, oder schließen Sie die Eigenschaft aus. Bei neuen Zeilen zeigt die JSON-Ausgabe \n für den Zeilenvorschub an. Das mehrzeilige Textfeld akzeptiert \r für einen Wagenrücklauf (CR) und \n für einen Zeilenvorschub (LF). Ein Standardwert kann z. B. \r\n zum Angeben von CRLF enthalten.
  • Wenn constraints.required auf true festgelegt ist, muss das Textfeld für eine erfolgreiche Überprüfung einen Wert enthalten. Der Standardwert ist false.
  • Die validations-Eigenschaft ist ein Array, in dem Sie Bedingungen zum Überprüfen des im Textfeld angegebenen Werts hinzufügen.
  • Die Eigenschaft regex ist ein reguläres JavaScript-Ausdrucksmuster. Wenn der Wert des Textfelds angegeben wird, muss er für eine erfolgreiche Überprüfung dem Muster entsprechen. Der Standardwert ist null. Weitere Informationen zur RegEx-Syntax finden Sie unter Sprachelemente für reguläre Ausdrücke – Kurzübersicht.
  • Die isValid-Eigenschaft enthält einen Ausdruck, dessen Auswertung true oder false ergibt. Innerhalb des Ausdrucks definieren Sie die Bedingung, die bestimmt, ob das Textfeld gültig ist.
  • Die Eigenschaft message ist eine Zeichenfolge, die angezeigt wird, wenn bei der Überprüfung des Werts des Textfelds ein Fehler auftritt.
  • Für regex kann ein Wert angegeben werden, wenn required auf false festgelegt ist. In diesem Szenario ist für eine erfolgreiche Überprüfung des Textfelds kein Wert erforderlich. Wird ein Wert angegeben, muss er dem Muster des regulären Ausdrucks entsprechen.

Beispiele

In den Beispielen wird gezeigt, wie ein einzeiliges Textfeld und ein mehrzeiliges Textfeld verwendet werden.

Einzeilig

Im folgenden Beispiel wird ein Textfeld mit dem Microsoft.Solutions.ArmApiControl-Steuerelement verwendet, um die Verfügbarkeit eines Ressourcennamens zu überprüfen.

"basics": [
    {
        "name": "nameApi",
        "type": "Microsoft.Solutions.ArmApiControl",
        "request": {
            "method": "POST",
            "path": "[concat(subscription().id, '/providers/Microsoft.Storage/checkNameAvailability?api-version=2021-04-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]"
                }
            ]
        }
    }
]

Mehrzeilig

In diesem Beispiel wird die multiLine-Eigenschaft verwendet, um ein mehrzeiliges Textfeld mit Platzhaltertext zu erstellen.

{
  "$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')]"
    }
  }
}

Nächste Schritte