Saltar al contenido

Consejos de Validación

Reglas de validación en App Builder son una forma de proteger sus datos de manipulaciones no deseadas o indebidas. Las reglas de validación se configuran en el área SQL empresarial de la capa de lógica empresarial y, una vez configuradas, se pueden usar en la aplicación agregándolas como controles a los paneles de las páginas.

Este artículo proporciona algunas prácticas recomendadas y recomendaciones para trabajar con validaciones en App Builder las validaciones se utilizan para proteger la integridad de los datos. Se pueden ejecutar contra datos ingresados manualmente y evitar que un usuario agregue registros que violen la lógica empresarial (por ejemplo, registros duplicados). Las reglas de validación también se pueden utilizar en la capa de lógica empresarial. Si una regla CRUD se configura como capa empresarial, las validaciones también se ejecutarán cuando se ejecute esa regla CRUD.

Los mensajes de validación que se presentan a los usuarios finales son configurables y pueden aprovechar la sustitución dinámica para mejorar la experiencia del usuario.

Tutorial de Reglas de Validación

Mejores Prácticas y Recomendaciones

  1. El 99 % de las veces debe utilizar enlaces implícitos. Los enlaces explícitos se utilizan para validaciones XP (como en una API REST). Los enlaces explícitos no deben interrumpir su validación.

  2. La validación debe apuntar a la tabla o al objeto de datos del panel. Si desea registrar en el nivel de tabla para que se ejecute cada vez que se guarde un registro a través de cualquier objeto de datos, deberá apuntar a la tabla y registrar en el nivel de tabla. Si desea registrar en el objeto de datos, entonces deberá apuntar al objeto de datos.

  3. El verdadero truco consiste en saber cómo se hace referencia al registro temporal/nuevo ("en memoria") en la regla de validación para compararlo con las filas existentes. {{nm.ab}} reemplazará cualquier objeto comercial con el nuevo registro en los siguientes escenarios:

    1. Reemplaza la primera tabla de destino agregada a la regla de validación. La segunda no se modifica. En realidad, esto está en el orden en que se agregaron.
    2. Reemplaza todos los objetos de datos que apuntan a la misma tabla de destino que el panel/evento.
      • Consulte la sección Escenarios de reemplazo a continuación.

    Importante

    Esto se vuelve muy importante cuando desea validar un registro con registros existentes. Si desea hacer esto, debe agregar la tabla de destino dos veces o considerar agregar un objeto comercial que no tenga como destino la misma tabla a la que apunta el evento.

  4. Si se crea una regla de validación que utiliza el enfoque "En memoria", el objeto comercial desde el cual se registra la regla de validación debe contener todas las columnas a las que se hace referencia en la regla de validación para "reemplazar" con éxito todos los valores de las columnas.

    • Consulte el ejemplo de Correo duplicado "en memoria" a continuación para obtener una configuración de muestra.
  5. Las validaciones activadas por reglas de negocio ejecutadas en acciones no pueden realizar confirmaciones. Se redondearán a errores. No hay forma de ejecutar la mitad del evento de nivel superior, confirmar algo y luego seguir ejecutándolo.

  6. {{nm.ab}} admite la sustitución dinámica en los mensajes de las validaciones. Todo lo que necesita hacer es proporcionar el valor que desea sustituir en el objeto de datos del panel en el que se activa la validación y, a continuación, {{Value}} en el campo de mensaje de la Validación.

Escenarios de reemplazo:

  • Cliente, Cliente (Fuente A), Cliente (Fuente B): todo se sustituye
  • Cliente, Cliente: Se sustituye la primera tabla de clientes
  • Cliente (Fuente A), Cliente (Fuente B): Todos se sustituyen
  • Cliente, Cliente (Fuente A), Cliente (no me estoy dirigiendo al Cliente): Cliente y Cliente (Fuente A) se sustituyen

Ejemplo de regla de validación de Correo duplicado "en memoria":

Este ejemplo ilustra el enfoque de validación "en memoria", donde el valor que el usuario escribe se compara con los valores que están guardados actualmente en las filas de la tabla. Todas las columnas de la regla de validación deben existir en el objeto comercial para que App Builder para colocar con éxito los valores "En memoria" en las columnas de la regla para que la lógica funcione.

  • Ejemplo de registro de validación para una regla de validación de Correo duplicado:

    validacionregistro.png

  • Ejemplo de configuración de la regla de validación:

    businessrule.png

  • Cláusula Where para la configuración de la regla de validación:

    wherelogic.png

  • Lógica de unión para la configuración de la regla de validación:

    joinlogic.png