Partager via


Fonctions logiques CreateUiDefinition

Ces fonctions peuvent être utilisées dans des expressions conditionnelles. Certaines fonctions peuvent ne pas prendre en charge tous les types de données JSON.

et

Retourne true si tous les paramètres correspondent à true. Cette fonction prend en charge plusieurs paramètres de type booléen uniquement.

L’exemple suivant retourne true:

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

L’exemple suivant retourne false:

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

coalesce

Retourne la valeur du premier paramètre non null. Cette fonction prend en charge tous les types de données JSON.

Supposons que element1 et element2 ne soient pas définis. L’exemple suivant retourne "Contoso":

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

Cette fonction est particulièrement utile dans le contexte d’un appel facultatif qui fait suite à une action de l’utilisateur après le chargement de la page. Par exemple, si les contraintes placées sur un champ de l’interface utilisateur dépendent de la valeur sélectionnée d’un autre champ initialement non visible. Dans ce cas, coalesce() peut être utilisé pour permettre à la fonction d’être syntaxiquement valide au moment du chargement de la page tout en produisant l’effet souhaité lorsque l’utilisateur interagit avec le champ.

Observez ce DropDown, qui permet à l’utilisateur de choisir entre différents types de base de données :

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

Pour conditionner l’action d’un autre champ sur la valeur choisie actuelle de ce champ, utilisez coalesce(), comme dans l’exemple ci-dessous :

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

Cette fonctionnalité est nécessaire, car elle databaseType n’est initialement pas visible et n’a donc pas de valeur, ce qui provoque l’évaluation correcte de l’expression entière.

equals

Retourne true si les deux paramètres ont le même type et la même valeur. Cette fonction prend en charge tous les types de données JSON.

L’exemple suivant retourne true:

"[equals(0, 0)]"

L’exemple suivant retourne true:

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

L’exemple suivant retourne false:

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

greater

Retourne true si le premier paramètre est strictement supérieur au second paramètre. Cette fonction prend en charge les paramètres de type nombre et chaîne uniquement.

L’exemple suivant retourne false:

"[greater(1, 2)]"

L’exemple suivant retourne true:

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

greaterOrEquals

Retourne true si le premier paramètre est supérieur ou égal au second paramètre. Cette fonction prend en charge les paramètres de type nombre et chaîne uniquement.

L’exemple suivant retourne true:

"[greaterOrEquals(2, 2)]"

if

Retourne une valeur indiquant si une condition est true ou false. Le premier paramètre est la condition à tester. Le deuxième paramètre est la valeur à retourner si la condition est vérifiée (true). Le troisième paramètre est la valeur à retourner si la condition n’est pas vérifiée (false).

L’exemple suivant retourne yes.

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

less

Retourne true si le premier paramètre est strictement inférieur au second paramètre. Cette fonction prend en charge les paramètres de type nombre et chaîne uniquement.

L’exemple suivant retourne true:

"[less(1, 2)]"

L’exemple suivant retourne false:

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

lessOrEquals

Retourne true si le premier paramètre est inférieur ou égal au second paramètre. Cette fonction prend en charge les paramètres de type nombre et chaîne uniquement.

L’exemple suivant retourne true:

"[lessOrEquals(2, 2)]"

not

Retourne true si le paramètre correspond à false. Cette fonction prend en charge les paramètres de type booléen uniquement.

L’exemple suivant retourne true:

"[not(false)]"

L’exemple suivant retourne false:

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

or

Retourne true si au moins l’un des paramètres correspond à true. Cette fonction prend en charge plusieurs paramètres de type booléen uniquement.

L’exemple suivant retourne true:

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

L’exemple suivant retourne true:

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

Étapes suivantes