Condividi tramite


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