Dela via


Logiska createUiDefinition-funktioner

Dessa funktioner kan användas i villkorsstyrda uttryck. Vissa funktioner kanske inte stöder alla JSON-datatyper.

och

Returnerar true om alla parametrar utvärderas till true. Den här funktionen stöder endast två eller flera parametrar av typen booleskt värde.

Följande exempel returnerar true:

"[and(equals(0, 0), equals('web', 'web'), less(1, 2))]"

Följande exempel returnerar false:

"[and(equals(0, 0), greater(1, 2))]"

sammansmälta

Returnerar värdet för den första parametern som inte är null. Den här funktionen stöder alla JSON-datatyper.

Anta element1 och element2 är odefinierat. Följande exempel returnerar "Contoso":

"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"

Den här funktionen är särskilt användbar i kontexten för valfritt anrop som inträffar på grund av användaråtgärder när sidan har lästs in. Ett exempel är om begränsningarna för ett fält i användargränssnittet beror på det valda värdet för ett annat, till en början inte synligt fält. I det här fallet coalesce() kan användas för att tillåta att funktionen är syntaktiskt giltig vid sidinläsningen samtidigt som den har önskad effekt när användaren interagerar med fältet.

Tänk på detta DropDown, som gör att användaren kan välja mellan flera olika databastyper:

{
  "name": "databaseType",
  "type": "Microsoft.Common.DropDown",
  "label": "Choose database type",
  "toolTip": "Choose database type",
  "defaultValue": "Oracle Database",
  "visible": "[bool(steps('section_database').connectToDatabase)]""constraints": {
    "allowedValues": [
      {
        "label": "Azure Database for PostgreSQL",
        "value": "postgresql"
      },
      {
        "label": "Oracle Database",
        "value": "oracle"
      },
      {
        "label": "Azure SQL",
        "value": "sqlserver"
      }
    ],
    "required": true
  },

Om du vill villkora åtgärden för ett annat fält på det aktuella valda värdet för det här fältet använder du coalesce(), som du ser här:

"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",

Den här funktionen är nödvändig eftersom den databaseType initialt inte är synlig och därför inte har något värde, vilket gör att hela uttrycket inte utvärderas korrekt.

equals

Returnerar true om båda parametrarna har samma typ och värde. Den här funktionen stöder alla JSON-datatyper.

Följande exempel returnerar true:

"[equals(0, 0)]"

Följande exempel returnerar true:

"[equals('web', 'web')]"

Följande exempel returnerar false:

"[equals('abc', ['a', 'b', 'c'])]"

greater

Returnerar true om den första parametern är strikt större än den andra parametern. Den här funktionen stöder endast parametrar av typen nummer och sträng.

Följande exempel returnerar false:

"[greater(1, 2)]"

Följande exempel returnerar true:

"[greater('9', '10')]"

greaterOrEquals

Returnerar true om den första parametern är större än eller lika med den andra parametern. Den här funktionen stöder endast parametrar av typen nummer och sträng.

Följande exempel returnerar true:

"[greaterOrEquals(2, 2)]"

if

Returnerar ett värde baserat på om ett villkor är sant eller falskt. Den första parametern är villkoret som ska testas. Den andra parametern är det värde som ska returneras om villkoret är sant. Den tredje parametern är det värde som ska returneras om villkoret är falskt.

Följande exempel returnerar yes.

"[if(equals(42, mul(6, 7)), 'yes', 'no')]"

less

Returnerar true om den första parametern är strikt mindre än den andra parametern. Den här funktionen stöder endast parametrar av typen nummer och sträng.

Följande exempel returnerar true:

"[less(1, 2)]"

Följande exempel returnerar false:

"[less('9', '10')]"

lessOrEquals

Returnerar true om den första parametern är mindre än eller lika med den andra parametern. Den här funktionen stöder endast parametrar av typen nummer och sträng.

Följande exempel returnerar true:

"[lessOrEquals(2, 2)]"

not

Returnerar true om parametern utvärderas till false. Den här funktionen stöder endast parametrar av typen Booleskt värde.

Följande exempel returnerar true:

"[not(false)]"

Följande exempel returnerar false:

"[not(equals(0, 0))]"

eller

Returnerar true om minst en av parametrarna utvärderas till true. Den här funktionen stöder endast två eller flera parametrar av typen Booleskt värde.

Följande exempel returnerar true:

"[or(equals(0, 0), equals('web', 'web'), less(1, 2))]"

Följande exempel returnerar true:

"[or(equals(0, 0), greater(1, 2))]"

Nästa steg

  • En introduktion till Azure Resource Manager finns i Översikt över Azure Resource Manager.