RPA Connect
Español
Español
  • Diseño de formularios
    • Inicio rápido
      • Inicio de sesión en RPA Connect
      • Creación de un formulario
      • Entorno de trabajo
      • Diseño de un formulario básico
    • Asignación de propiedades
      • Propiedades generales
      • Apariencia
      • Validaciones
        • Validaciones avanzadas
      • Comportamiento
        • Comportamientos avanzados
    • Desarrollo integral de un formulario
      • Campos de texto y numéricos
      • Campos de fecha y hora
      • Campos de selección de opciones
      • Otros campos de entrada
      • Tablas
    • Utilización de recursos comunes
      • Carga de recursos
      • Utilización de recursos
    • Configuración de workflows
    • Opciones avanzadas
  • Administración
    • Admin App
      • Acceso a Admin App
      • Gestión de usuarios y grupos
      • Espacios de trabajo
      • Roles y permisos
    • Integración con Microsoft Entra ID
      • Autorización de sincronización
      • Gestión de grupos AD
      • Configuración de notificaciones Microsoft Teams
  • BLUEPRISM
    • Conexión con BluePrism
      • Creación de una credencial de autenticación
      • Generación de una instancia pública de formulario
      • Consulta de instancias de una plantilla
      • Otras acciones
        • Acciones vinculadas a instancias
        • Acciones vinculadas a archivos
        • Acciones vinculadas a stages
      • Información adicional
  • CANALES DE INTERACCIÓN
    • Gestión de instancias en Teams y el Portal
      • Interfaz y funciones comunes
        • Inicio
        • Envíos
        • Bandeja de Entrada
      • Actividad en Microsoft Teams
      • Características del Portal
Powered by GitBook
On this page
  • Validaciones de contenido
  • Validación de campos en blanco
  • Validación de campos en blanco en una tabla
  • Validación de totales de una columna en una tabla
  • Validación de días de lunes a viernes entre dos fechas
  • Validación de comparación entre campos
  • Validación de valores idénticos
  • Validación de fechas
  • Validación de operadores lógicos
  • Operador NOT
  • Operador AND
  • Operador OR
  • Validación con operador ternario
  1. Diseño de formularios
  2. Asignación de propiedades
  3. Validaciones

Validaciones avanzadas

PreviousValidacionesNextComportamiento

Last updated 12 months ago

El apartado de Validation Expressions permite configurar validaciones de lógica de datos, especialmente eficientes para verificar que el valor ingresado por el usuario en cada campo coincida con el tipo de dato esperado. Su funcionamiento consiste en comprobar el cumplimiento de una condición determinada.

Si la condición se cumple y el resultado es verdadero, se muestra un mensaje de error y el usuario no puede enviar dicho formulario hasta que el mismo esté corregido. Si la condición es falsa, no se realizará ninguna acción y el usuario podrá avanzar con el proceso.

Este tipo de validaciones pueden hacer referencia a los datos que se ingresan tanto sobre el campo donde están definidas (por ejemplo, si cumple con una longitud determinada), como en otro campo (mostrar un error en el campo “Cantidad” si el campo “Producto” no es válido) o comparando los datos entre dos campos (si la fecha de inicio ingresada para determinado período es posterior a la fecha de finalización).

Cada expresión se compone de dos valores:

Valor
Descripción

Mensaje

Es el texto que se desea mostrar al usuario para advertir el error cuando se cumple la condición validada y no es posible enviar el formulario

Expresión

Fórmula asociada que ejecutará la validación por cual se muestra el mensaje

La opción Add Expression en el extremo superior derecho del apartado te permitirá incluir funciones adicionales, habilitando nuevos campos para mensajes y expresiones. Esto resulta de utilidad para validar el cumplimiento de varias condiciones dentro de un mismo campo, por ejemplo, que una fecha se encuentre dentro de determinado periodo, que sea más reciente que la fecha de otro campo y distinta de la de un tercero. Aplicar múltiples fórmulas con criterios específicos te permitirá tener un control más preciso respecto al tipo de datos admitidos, ayudando a reducir el margen de error.

A continuación, analizaremos en detalle las siguientes expresiones:

Función
Tipo de validación
Resultado

isEmpty(Campo)

Validación de contenido

Devuelve true (mensaje de error) si un campo se encuentra vacío

count(Tabla)==0

Validación de contenido

Devuelve true si las filas de una tabla están vacías

sum(Tabla,Columna)!=N

Validación de contenido

Devuelve true si el total de una columna es distinto al permitido

dateDifferenceInBusinessDays(Fecha1,Fecha2)<=N

Validación de contenido

Devuelve true si el número de días de lunes a viernes es menor al permitido por la regla

equal(Campo1,Campo2)

Validación de comparación

Devuelve true si dos campos presenten el mismo valor

smaller(Fecha1,Fecha2)

Validación de comparación

Devuelve true si la primer fecha es menor a la segunda

larger(Fecha1,Fecha2)

Validación de comparación

Devuelve true si la primer fecha es mayor a la segunda

smallerEq(Fecha1,Fecha2)

Validación de comparación

Devuelve true si la primer fecha es menor o igual a la segunda

largerEq(Fecha1,Fecha2)

Validación de comparación

Devuelve true si la primer fecha es mayor o igual a la segunda

not(Campo)

Validación de operadores lógicos

Devuelve true si el campo tiene resultado negativo

not(Expresión)

Validación de operadores lógicos

Devuelve true si la expresión tiene resultado negativo

and(Expresión1,Expresión2)

Validación de operadores lógicos

Devuelve true si se cumplen las dos expresiones

or(Expresión1,Expresión2)

Validación de operadores lógicos

Devuelve true si se cumple una de las dos expresiones

ExpresiónCondicional?ExpresiónCondiciónVerdadera:ExpresiónCondiciónFalsa

Validación con operador ternario

Devuelve el resultado de una segunda expresión dependiente del cumplimiento de la primera

Ten presente que los componentes de una fórmula se incluyen entre paréntesis. El editor te mostrará un aviso de error en caso de que el número de paréntesis abiertos en la fórmula no coincida con el número de paréntesis cerrados, ayudándote a encontrar incoherencias en funciones más complejas.

Validaciones de contenido

Existen ciertas fórmulas que nos permitirán evaluar la validez de un dato en función del cumplimiento de ciertas características en los valores ingresados frente a una norma establecida para dicho campo: por ejemplo, que no pueda estar en blanco o que no exceda ciertos límites. Veamos algunos de ellos y su funcionamiento a continuación.

Validación de campos en blanco

Como vimos anteriormente, las expresiones de validación nos permiten aplicar mejoras a ciertas funcionalidades de nuestro formulario, como es el caso de la configuración de formularios requeridos. A continuación, haremos uso de la expresión isEmpty() para definir un campo como obligatorio y mostrar un mensaje de error personalizado cuando el usuario intenta enviarlo en blanco.

Selecciona el campo "Apellido y nombre" y establece la propiedad Required como False para deshabilitarla. Luego, dirígete al apartado Validation Expressions.

En el campo Message, escribe la leyenda que se mostrará al usuario si no completa dicho campo, por ejemplo: "Debes ingresar tu nombre y apellido".

A continuación, deberás establecer la fórmula que controle dicha condición. Pulsa el ícono fx en en el extremo derecho del campo Expression para abrir el editor e ingresa la fórmula:

isEmpty(apellido_nombre)

Siempre que añadas una expresión, asegúrate de comprobar que los nombres de los campos se encuentren escritos correctamente, respetando las mayúsculas y minúsculas. El editor mostrará un aviso informando que un nombre de campo no está presente en el esquema si se ingresa un valor no declarado, pero no podrá detectar si has escrito el nombre de otro campo existente en su lugar.

Una vez que hayas añadido la expresión, pulsa Confirm para terminar. Si la condición se cumple, es decir, si el campo "Apellido y nombre" está en blanco, la función devolverá el valor true y mostrará el mensaje "Debes ingresar tu nombre y apellido", de modo que el usuario no podrá enviar el formulario hasta tanto haya ingresado este dato. Por el contrario, si la condición no se cumple porque el campo está completo, devolverá el valor false y el usuario podrá enviar el formulario correctamente.

Este tipo de validación también puede aplicarse a tablas, para corroborar si existen filas cargadas en la misma, o a campos de tipo Attachment, comprobando si se ha añadido un archivo adjunto. En caso de no haber información, la fórmula devolverá el valor true y mostrará un mensaje de error.

Validación de campos en blanco en una tabla

La fórmula count() resulta útil para contar la cantidad de caracteres ingresados en un campo y, aplicada a una tabla, permite contar la cantidad de filas completas. Para construir una expresión de validación a partir de esta función, es posible añadir un operador para que la comprobación devuelva error en caso de que el total sea igual a cero.

count(Tabla)==0

También pueden utilizarse otros operadores sencillos para validar que dicha cantidad se encuentre dentro de los límites permitidos:

Operador
Ejemplo
Validación

==

count(Tabla)==0

Devuelve true (error) si el total es igual a cero

!=

count(Tabla)!=100

Devuelve true si el total es distinto a 100

>

count(Tabla)>100

Devuelve true si el total es mayor a 100

<

count(Tabla)<10

Devuelve true si el total es menor a 10

Validación de totales de una columna en una tabla

La función sum() suma todos los números dentro del rango de una columna para contabilizar un total. Añadiendo operadores a esta función, es posible convertirla en una expresión de validación que compare el total frente a un número prestablecido y devuelva un error cuando el dato ingresado no coincide con lo esperado. Por ejemplo, en una tabla de ventas donde la columna "porcentaje" reúne la porción de ingresos sobre el total para cada tipo de producto, la suma de cada celda debe dar como resultado un total de 100.

La siguiente función permitirá detectar si el total es diferente a 100 y mostrar un mensaje de error si esta condición se cumple:

sum(TablaVentas,ColumnaPorcentaje)!=100

Validación de días de lunes a viernes entre dos fechas

Con la función dateDifferenceInBusinessDays() se calculan el total de días de lunes a viernes entre dos fechas. Al igual que en count(), añadiendo un operador al cálculo es posible contrastarlo contra un mínimo o máximo estipulado. Por ejemplo:

dateDifferenceInBusinessDays(FechaSolicitud,FechaEntrega)<=5

Esta fórmula contabilizará los días entre la fecha de solicitud y la de entrega, descontando los fines de semana, y mostrará un mensaje de error si la condición es verdadera, es decir, si el periodo transcurrido entre ambas fechas es inferior o igual a 5 días.

Validación de comparación entre campos

Otras expresiones de gran utilidad son aquellas que permiten comparar los datos ingresados en distintos campos, en término de similitud o diferencia entre sus valores.

Validación de valores idénticos

La función equal() controla ambos valores (ya sean textos, números o fechas) y devuelve true si son iguales, mostrando un mensaje de error e impidiendo el envío de la instancia.

Tomando como base el formulario que has diseño, crea un nuevo campo de tipo Number con el label "Teléfono móvil" y el nombre "tel_movil" en la sección "Datos de contacto".

Para comprobar que el número ingresado en este campo sea distinto al ingresado en el campo "Teléfono" podemos recurrir a esta expresión de validación. Pulsa el ícono fx en en el extremo derecho del campo Expression y escribe la fórmula:

equal(tel,tel_movil)

A continuación, presiona Confirm. Si esta condición se cumple, se mostrará una alerta, la cual definiremos en el campo Message, por ejemplo: "El número del teléfono de línea y del teléfono móvil no pueden ser el mismo".

Es posible construir una alternativa más sencilla a esta función utilizando operadores para realizar la comparación. Por ejemplo, si reemplazas la fórmula equal() del ejemplo anterior por la expresión tel==tel_movil, se realizará la misma validación y obtendrás los mismos resultados.

Veamos los distintos tipos de operadores que puedes utilizar para comparar los datos de dos campos, así como un ejemplo de cada uno y la acción

Operador
Expresión
Ejemplo
Validación

==

Campo1==Campo2

Nombre==Apellido

Comprueba si los campos son iguales

!=

Campo1!=Campo2

Email!=ConfirmarEmail

Comprueba si los campos son distintos

>

Campo1>Campo2

Unidades_vendidas>Stock

Comprueba si el primer campo es mayor que el segundo

<

Campo1<Campo2

Cantidad<CantidadMinima

Comprueba si el primer campo es menor que el segundo

También puedes combinar los operadores mayor que (>) y menor que (<) con el operador igual (=) para un resultado más específico, por ejemplo: CantidadRecomendada>=CantidadMaxima. En todos estos casos, el cumplimiento de la condición devolverá el valor true y mostrará el mensaje de error que se haya ingresado en la propiedad Message.

Validación de fechas

La función smaller() permite comparar las fechas ingresadas en dos campos y devolver un mensaje de error si la primera es menor a la segunda, por ejemplo "La fecha de finalización no puede ser menor a la fecha de inicio". Su estructura se plantea del siguiente modo:

smaller(FechaInicio,FechaFin)

Por el contrario, la función larger() evalúa si la primera fecha es mayor a la segunda y devuelve un mensaje de error en caso de cumplirse esta condición. Su estructura se muestra a continuación:

larger(FechaFin,FechaInicio)

Existen variaciones para ambas expresiones contemplando que la función devuelva un mensaje de error también en caso de que ambas fechas sean idénticas, es decir, aplicando la funcionalidad de equal(). Para ello deberemos modificar los argumentos de dichas funciones por:

  • smallerEq (Fecha1,Fecha2): comprobará que la primera fecha sea menor o igual a la segunda

  • largerEq (Fecha1,Fecha2): comprobará que la primera fecha sea mayor o igual a la segunda

Estas funciones también pueden utilizarse para comparar otro tipo de valores, como números o cadenas de texto.

Validación de operadores lógicos

Las expresiones basadas en operadores AND, OR y NOT permiten realizar validaciones según el cumplimiento de ciertas condiciones verdadero/falso ya sea en el valor de un campo o expresión (en el caso de NOT) o en el resultado entre dos expresiones aplicadas a un campo (AND y OR). Veamos en detalle cada una de estas validaciones lógicas.

Operador NOT

Si el booleano está desactivado, es decir, si la respuesta es negativa, la expresión devolverá un mensaje de error. Puede aplicarse, por ejemplo, a un campo booleano de nombre "Confirmación" que muestre un mensaje de error con el mensaje "Debe aceptar los términos y condiciones para continuar" si se devuelve un resultado true a la siguiente expresión:

not(Confirmacion)

También es posible hacer validaciones más complejas aplicando la expresión not() a la comprobación de otras funciones, por ejemplo:

not(equal(Campo1,Campo2))

Si no se cumple la condición de que los campos 1 y 2 sean iguales, se mostrará un mensaje de error. Recuerda que el editor te mostrará un aviso de error en caso de que el número de paréntesis abiertos en la fórmula no coincida con el número de paréntesis cerrados.

Operador AND

Con la expresión and() es posible comprobar el cumplimiento simultáneo de dos expresiones distintas y mostrar un mensaje de error cuando esto ocurre (es decir, cuando ambas devuelven true), utilizando la siguiente comprobación lógica:

Resultado Expresión1
Resultado Expresión2
Resultado de and(Expresión1,Expresión2)

false

false

false

true

false

false

false

true

false

true

true

true

Por ejemplo, si tenemos un formulario con dos campos booleanos de los cuales al menos uno debe estar activado, como la solicitud de recibir un comprobante físico o un comprobante virtual, puede aplicarse la función and() para mostrar un error en caso de que ambos casilleros estén desactivados.

and(not(ComprobanteFisico),not(ComprobanteVirtual))

Analicemos el funcionamiento de dicha expresión:

Resultado Expresión1
Resultado Expresión2
Resultado de and(Expresión1,Expresión2)

false: El usuario ha solicitado recibir un comprobante físico

false: El usuario ha solicitado recibir un comprobante virtual

false: No se muestra mensaje de error, dado que ninguna condición se cumple

true: El usuario no ha solicitado recibir un comprobante físico

false: El usuario ha solicitado recibir un comprobante virtual

false: No se muestra mensaje de error, dado que se cumple solo una condición

false: El usuario ha solicitado recibir un comprobante físico

true: El usuario no ha solicitado recibir un comprobante virtual

false: No se muestra mensaje de error, dado que se cumple solo una condición

true: El usuario no ha solicitado recibir un comprobante físico

true: El usuario no ha solicitado recibir un comprobante virtual

true: Se muestra el mensaje de error porque se cumplen ambas condiciones

Es posible construir estructuras más complejas para este tipo de validación anidando otras fórmulas con el operador AND dentro de la función del campo para controlar un mayor número de expresiones:

and(Expresión1,and(Expresión1,Expresión2))

De este modo la comprobación de la expresión 1 devolverá un valor true o false que se comparará. con el valor total true o false que devuelva la segunda función and() al controlar las expresiones 2 y 3. Estas funciones pueden seguir anidándose siempre que se respete la misma estructura.

Operador OR

La expresión or() permite verificar que se cumpla al menos una de dos expresiones y mostrar un mensaje de error a excepción de que ambas devuelvan false, utilizando esta comprobación lógica:

Resultado Expresión1
Resultado Expresión2
Resultado de and(Expresión1,Expresión2)

false

false

false

true

false

true

false

true

true

true

true

true

Por ejemplo, si el envío del formulario requiere que el usuario ingrese su correo electrónico en un campo de texto "Email" y también acepte recibir notificaciones al mismo activando un campo booleano "Recibir notificaciones", es posible utilizar la siguiente función:

or(isEmpty(correo_electronico),not(Notificaciones))

Analicemos el funcionamiento de dicha expresión, configurando un mensaje de error "Debe ingresar su casilla de email y aceptar recibir notificaciones" si se demuestra verdadera:

Resultado expresión 1
Resultado expresión 2
Resultado de or(expresion1,expresion2)

false: El campo "Email" está completo

false: La casilla "Recibir notificaciones" está activada

false: No se muestra mensaje de error, dado que ninguna condición se cumple

true: El campo "Email" está vacío

false: La casilla "Recibir notificaciones" está activada

true: Se muestra el mensaje de error porque se cumple una de las condiciones

false: El campo Email está completo

true: La casilla "Recibir notificaciones" está desactivada

true: Se muestra el mensaje de error porque se cumple una de las condiciones

true: El campo "Email" está vacío

true: La casilla "Recibir notificaciones" está desactivada

true: Se muestra el mensaje de error porque se cumplen ambas condiciones

Al igual que las funciones con el operador AND, es posible anidar otras fórmulas del tipo or() dentro de una sola expresión para realizar una comprobación de múltiples condiciones true o false, por ejemplo:

or(Expresión1,or(Expresión1,Expresión2))

Validación con operador ternario

Este tipo de validaciones se compone de tres expresiones:

  • Una expresión condicional, cuyo cumplimiento o no devolverá la evaluación de una u otra expresión dependiente

  • Una expresión si la condición es verdadera

  • Una expresión si la condición es falsa

Las mismas se estructuran del siguiente modo, donde el símbolo ? marcará el inicio de la expresión que se devolverá si la condición es verdadera y : marcará el inicio de la expresión que se devolverá si la condición es falsa:

ExpresiónCondicional?ExpresiónCondiciónVerdadera:ExpresiónCondiciónFalsa

Veamos un ejemplo y su funcionamiento:

isEmpty(FechaInicio)?not(Pendiente):smaller(FechaFin,FechaInicio)

  • La primera validación comprobará si el campo FechaInicio se encuentra vacío.

  • Si el resultado de la primera condición es verdadero, la segunda expresión comprobará si la casilla "Pendiente" está desactivada.

  • Si es verdadero, devolverá un mensaje de error ("La fecha de inicio debe estar completa y ser anterior a la fecha de finalización").

  • Si es falso, no realizará ninguna acción dado que el proceso está pendiente y por ello no se ha ingresado una fecha.

  • Si el resultado de la primera condición es falso, la tercer expresión comprobará que la fecha de finalización sea menor a la fecha de inicio. Si es verdadero, devolverá el mensaje de error.

  • Si es falso, no realizará ninguna acción ya que las fechas son válidas.

La función not() devuelve true si el campo tiene un valor negativo y habitualmente se utiliza para campos booleanos, que funcionan como un botón que puede activarse o dejarse desactivado según una lógica binaria sí/no. Más adelante veremos en detalle .

este tipo de campo
Apartado de Validation Expressions
Ejemplo de mensaje de error al validarse la expresión ingresada
Detalle de mensaje y expresión
Configuración de múltiples expresiones para un mismo campo con Add Expression
Alerta por un error en la estructura de la expresión
Modificación de la propiedad Required
Opción Edit Expression
Aplicación de la función isEmpty() a un campo de tipo Attachment
Validación de contenido en una tabla
Validación de periodo transcurrido entre dos fechas
Alternativa a la expresión equal() con operadores
Comparación entre fechas con la función smaller()
Comparación entre fechas con la función larger()
Aplicación de la expresión largerEq()
Validación de un campo booleano
Comprobación de diferencia entre valores
Mensaje de error al comprobarse una condición verdadera
Comprobación de condición falsa
Mensaje de error ante comprobación de datos inválidos
Comprobación de validez en los datos ingresados