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.