Funzioni logiche CreateUiDefinition
Queste funzioni possono essere usate nelle espressioni condizionali. Alcune funzioni potrebbero non supportare tutti i tipi di dati JSON.
e
Restituisce true
se tutti i parametri restituiscono true
. Questa funzione supporta solo due o più parametri di tipo booleano.
L'esempio seguente restituisce true
:
"[and(equals(0, 0), equals('web', 'web'), less(1, 2))]"
L'esempio seguente restituisce false
:
"[and(equals(0, 0), greater(1, 2))]"
coalesce
Restituisce il valore del primo parametro non Null. Questa funzione supporta tutti i tipi di dati JSON.
Si supponga che element1
e element2
non siano definiti. L'esempio seguente restituisce "Contoso"
:
"[coalesce(steps('demoStep').element1, steps('demoStep').element2, 'Contoso')]"
Questa funzione è particolarmente utile nel contesto della chiamata facoltativa che si verifica a causa dell'azione dell'utente dopo il caricamento della pagina. Un esempio è se i vincoli inseriti in un campo nell'interfaccia utente dipendono dal valore attualmente selezionato di un altro campo inizialmente non visibile. In questo caso, coalesce()
può essere usato per consentire alla funzione di essere sintatticamente valida in fase di caricamento della pagina, avendo l'effetto desiderato quando l'utente interagisce con il campo.
Si consideri questo DropDown
, che consente all'utente di scegliere tra diversi tipi di database:
{
"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
},
Per impostare l'azione di un altro campo sul valore selezionato corrente di questo campo, usare coalesce()
, come illustrato di seguito:
"regex": "[concat('^jdbc:', coalesce(steps('section_database').databaseConnectionInfo.databaseType, ''), '.*$')]",
Questa funzionalità è necessaria perché databaseType
inizialmente non è visibile e pertanto non ha un valore, che fa sì che l'intera espressione non venga valutata correttamente.
equals
Restituisce true
se entrambi i parametri hanno lo stesso tipo e valore. Questa funzione supporta tutti i tipi di dati JSON.
L'esempio seguente restituisce true
:
"[equals(0, 0)]"
L'esempio seguente restituisce true
:
"[equals('web', 'web')]"
L'esempio seguente restituisce false
:
"[equals('abc', ['a', 'b', 'c'])]"
greater
Restituisce true
se il primo parametro è necessariamente maggiore del secondo parametro. Questa funzione supporta solo parametri di tipo numero e stringa.
L'esempio seguente restituisce false
:
"[greater(1, 2)]"
L'esempio seguente restituisce true
:
"[greater('9', '10')]"
greaterOrEquals
Restituisce true
se il primo parametro è maggiore o uguale al secondo parametro. Questa funzione supporta solo parametri di tipo numero e stringa.
L'esempio seguente restituisce true
:
"[greaterOrEquals(2, 2)]"
if
Restituisce un valore in base a un condizione true o false. Il primo parametro è la condizione da testare. Il secondo parametro è il valore da restituire se la condizione è true. Il terzo parametro è il valore da restituire se la condizione è false.
L'esempio seguente restituisce yes
.
"[if(equals(42, mul(6, 7)), 'yes', 'no')]"
less
Restituisce true
se il primo parametro è necessariamente minore del secondo parametro. Questa funzione supporta solo parametri di tipo numero e stringa.
L'esempio seguente restituisce true
:
"[less(1, 2)]"
L'esempio seguente restituisce false
:
"[less('9', '10')]"
lessOrEquals
Restituisce true
se il primo parametro è minore o uguale al secondo parametro. Questa funzione supporta solo parametri di tipo numero e stringa.
L'esempio seguente restituisce true
:
"[lessOrEquals(2, 2)]"
not
Restituisce true
se il parametro restituisce false
. Questa funzione supporta solo parametri di tipo booleano.
L'esempio seguente restituisce true
:
"[not(false)]"
L'esempio seguente restituisce false
:
"[not(equals(0, 0))]"
or
Restituisce true
se almeno uno dei parametri restituisce true
. Questa funzione supporta solo due o più parametri di tipo booleano.
L'esempio seguente restituisce true
:
"[or(equals(0, 0), equals('web', 'web'), less(1, 2))]"
L'esempio seguente restituisce true
:
"[or(equals(0, 0), greater(1, 2))]"
Passaggi successivi
- Per un'introduzione ad Azure Resource Manager, vedere Panoramica di Azure Resource Manager.