Share via


Funciones lógicas CreateUiDefinition

Estas funciones se pueden usar en las expresiones condicionales. Algunas funciones pueden no admitir todos los tipos de datos JSON.

y

Devuelve true si todos los parámetros se evalúan como true. Esta función admite dos o más parámetros solo de tipo booleano.

El siguiente ejemplo devuelve true:

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

El siguiente ejemplo devuelve false:

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

coalesce

Devuelve el valor del primer parámetro no nulo. Algunas funciones admiten todos los tipos de datos JSON.

Asuma que element1 y element2 son indefinidos. El siguiente ejemplo devuelve "Contoso":

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

Esta función es especialmente útil en el contexto de la invocación opcional que se produce debido a una acción del usuario después de que se carga la página. Un ejemplo puede ser si las restricciones colocadas en un campo de la interfaz de usuario dependen del valor seleccionado actualmente en otro campo que no es visible inicialmente. En este caso, se puede usar coalesce() para permitir que la función sea sintácticamente válida en el momento de la carga de la página y tenga el efecto deseado cuando el usuario interactúa con el campo.

Tenga en cuenta este elemento DropDown, que permite al usuario elegir entre varios tipos de bases de datos diferentes:

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

Para condicionar la acción de otro campo según el valor seleccionado actualmente en este campo, use coalesce(), como se muestra a continuación:

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

Esto es necesario porque el campo databaseType no es visible inicialmente y, por lo tanto, no tiene un valor. Esto hace que toda la expresión no se evalúe correctamente.

equals

Devuelve true si ambos parámetros tienen el mismo tipo y valor. Algunas funciones admiten todos los tipos de datos JSON.

El siguiente ejemplo devuelve true:

"[equals(0, 0)]"

El siguiente ejemplo devuelve true:

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

El siguiente ejemplo devuelve false:

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

greater

Devuelve true si el primer parámetro es estrictamente mayor que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.

El siguiente ejemplo devuelve false:

"[greater(1, 2)]"

El siguiente ejemplo devuelve true:

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

greaterOrEquals

Devuelve true si el primer parámetro es estrictamente mayor o igual que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.

El siguiente ejemplo devuelve true:

"[greaterOrEquals(2, 2)]"

if

Devuelve un valor dependiendo de si una condición es verdadera o falsa. El primer parámetro es la condición que se va a probar. El segundo, es el valor que se va a devolver si la condición es verdadera. El tercero, es el valor que se va a devolver si la condición es falsa.

En el ejemplo siguiente se devuelve yes.

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

less

Devuelve true si el primer parámetro es estrictamente menor que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.

El siguiente ejemplo devuelve true:

"[less(1, 2)]"

El siguiente ejemplo devuelve false:

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

lessOrEquals

Devuelve true si el primer parámetro es estrictamente menor o igual que el segundo parámetro. Esta función admite parámetros solo de tipo number y string.

El siguiente ejemplo devuelve true:

"[lessOrEquals(2, 2)]"

not

Devuelve true si el parámetro se evalúa como false. Esta función admite parámetros solo de tipo booleano.

El siguiente ejemplo devuelve true:

"[not(false)]"

El siguiente ejemplo devuelve false:

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

or

Devuelve true si al menos uno de los parámetros se evalúa como true. Esta función admite dos o más parámetros solo de tipo booleano.

El siguiente ejemplo devuelve true:

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

El siguiente ejemplo devuelve true:

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

Pasos siguientes