Saltar al contenido

Consejos de Validación

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

Este artículo proporciona algunas prácticas recomendadas y recomendaciones al trabajar con validaciones en Vinyl. Las validaciones se utilizan para proteger la integridad de los datos. Se pueden ejecutar con 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 establece como capa empresarial, las validaciones también se ejecutarán cuando se ejecute esa regla CRUD.

Los mensajes de validación presentados 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 debes utilizar el enlace implícito. El enlace explícito se utiliza para validaciones de XP (como a una API REST). Es posible que la vinculación explícita no interrumpa su Validación.

  2. Su Validación debe apuntar a la tabla o al objeto de datos del panel. Si desea registrarse a nivel de tabla para que se ejecute cada vez que se guarda un registro a través de cualquier objeto de datos, entonces debe apuntar a la tabla y registrarse a nivel de tabla. Si desea registrarse en el objeto de datos, apunte 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. Vinyl reemplazará cualquier objeto comercial con el nuevo disco en los siguientes escenarios:

    1. Reemplaza la primera tabla de destino agregada a la regla de Validación. El segundo está intacto. 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 a la que apunta 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 esté dirigido a la misma tabla a la que apunta el evento.

  4. Si 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" exitosamente todos los valores de las columnas.

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

  6. Vinyl admite la sustitución dinámica en los mensajes de 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 luego {{Value}} en el campo de mensaje de la Validación.

Escenarios de reemplazo:

  • Cliente, Cliente (Fuente A), Cliente (Fuente B): todos se sustituyen
  • Cliente, Cliente: se sustituye la primera tabla de clientes
  • Cliente (Fuente A), Cliente (Fuente B): todos son sustituidos
  • Cliente, Cliente (Fuente A), Cliente (no me dirijo al Cliente): Se sustituyen Cliente y Cliente (Fuente A).

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 está escribiendo se compara con los valores que están actualmente guardados en las filas de la tabla. Todas las columnas de la regla de validación deben existir en el objeto comercial para que Vinyl coloque correctamente 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:

    validaciónregistro.png

  • Configuración de ejemplo de regla de validación:

    negocio.png

  • Cláusula Where para la configuración de reglas de Validación:

    dondelogic.png

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

    joinlogic.png