Bit from Condicionales

En BitForms es posible obtener diferentes resultados de registro y/o respuesta en función de lo que un visitante o usuario haya introducido en un campo del formulario creado con Bitforms, para ello disponemos de las lógicas condicionales que podemos aplicar a nuestros formularios. Vamos a ir paso a paso con algunos ejemplos que nos arrojarán luz sobre el procedimiento. La forma de trabajar de Bitforms es un conjunto de acciones (mensaje, URL de redireccionamiento, enlace web, notificaciones por email, integración y actualizaciones de campo) que se ejecutan cuando se cumplen determinadas condiciones específicas. Estas reglas automatizan el proceso de mensaje, URL de redireccionamiento, enlace web, notificaciones por correo electrónico, integración y actualizaciones de campo cuando se activa una regla. Una regla de trabajo consta de los siguientes elementos:

1- Acción a Ejecutar cuando: se especifique cuándo se debe activar la regla para un registro.

Hay cuatro opciones:
1A - Crear / Editar registro: ejecuta la regla cuando se crean registros o se modifican registros existentes. Ver imagen de abajo:

Aquí tenemos el un ejemplo en el que lo que se pretende es que según la edad del usuario o persona que rellena el formulario se le asigne una categoría determinada, aunque no se halla rellenado el campo específico o bien no se incluya en el formulario.
Vemos como primero se establece un condicional en el que cuando el formulario es enviado si el campo Age(Edad) es menor a 18 automaticamente en los registros se rellenará el campo Category correspondiente con la palabra "Teenager" y esto, como se puede ver en el la imagen animada, ocurrirá tanto cuando se envía el formulario como cuando se edita el resultado en la parte de Admin destinada en el plugin.

1 B - Record Create :(Grabación Creada) : Ejecuta la regla cuando se ha realizado una grabación, no haciendo cambio alguno cuando se hace una edición o borrado del registro. Es decir, solo se ejecutará cuando se envíe el formulario o bien se cree un nuevo registro en la zona "Responses" de su correspondiente formulario. La imagen de abajo muestra la forma como establece el condicional a cuando el registro es creado y aunque es posteriormente modificado el registro el campo Category no es alterado.

1C - Record Edit (Edición de Registro):  Se ejecuta cuando el registro es modificado desde la zona "Responses" del formulario en cuestión, sin hacer variación alguna cuando se crea o elimina un registro.
Imagen de abajo para ver de manera gráfica esta acción.

1D - Record Delete (Borrado de Registro):  La ejecución de esta regla se realiza cuando un registro es eliminado. Solamente WerbHooks y  las Notificaciones por Email  pueden ser asignadas como acción a esta regla.

2. Efecto de acción - Carga en formulario:

La acción Carga en formulario se utiliza para alterar dinámicamente un formulario cuando se carga. Las acciones de formulario "On Form Load" se ejecutan cuando un usuario carga el formulario. Cuando se carga una página y desea rellenar previamente algún valor de campo y también puede ejecutar un flujo de trabajo para actualizar el valor, mostrar, ocultar, deshabilitar y habilitar el campo.
 Hay dos formas de rellenar previamente un valor:
1. Utilizar un valor de campo inicial en las propiedades del campo en el generador de formularios (función que se implementará en la próxima actualización de Bitform).
2. Utilizar el parámetro en la URL. :website_url? Field_api_name = field_value
           Ejemplo: https://www.testpress.bitcode.pro/test/?b-1First_Name=a
Acción de flujo de trabajo para carga de formulario:
    En la carga del formulario mientras se crea o edita,  están disponibles las siguientes acciones.
           1. Actualización del valor del campo.
           2. Desactivar.
           3. Habilitar.
          4. Ocultar.
          5.Mostrar.

Vemos la siguiente animación

 

En el ejemplo anterior, después de que se cargue el formulario, el nombre será "Bitcode" y el apellido se desactivará.
Se utilizan muchos tipos de lógica para la carga en forma, como Igual, No igual, Es nulo, No es nulo, Contener, No contener, Mayor que, Menor que, Empezar con, Mayor o igual que, Menor o igual que, Comenzar con, Finalizar con.

3 - On Field Input  (Entrada en un campo):
  La entrada de campo es una acción del lado del cliente que se llamará siempre que el usuario modifique el valor de un campo. Se utiliza para mejorar la usabilidad de un formulario validando los datos del campo incluso antes de que se envíe o para mostrar otros valores de campo según el valor especificado en este campo. La entrada "On Field" se ejecuta antes de que los datos modificados se envíen y se guarden en la base de datos.

Cuando se crea o se edita un formulario, un usuario / visitante pone un valor en un campo en función de que quieras activar una acción.
Las siguientes acciones están disponibles para la entrada del usuario de campo:

1. Actualización del valor del campo.
2. Desactivar.
3. Habilitar.
4. Ocultar.
5. Mostrar.

Viendo la siguiente animación se comprenderá mejor:

En la animación que está justo encima vemos como establece un flujo de trabajo en el que la acción será rellenar campos, es este caso los campos "Name" y "Last Name" y la lógica aplicada es la siguiente:

"Si el campo Name es igual a Bitcode Y el campo Last Name es igual a Technology"  entonces el campo Email será automaticamente rellanado con bitcode@gmail.com.
Tal y como está formulado este condicional tienen que cumplirse las dos condiciones, es decir el campo Name y el campo Last Name tienen que ser iguale a Bitcode y a Technology respectivamente, si uno de los dos valores de los campos no es igual a lo que se le ha asignado entonces no el campo email no se rellenará con la dirección indicada.

4 - On Form Validate (Al validar el formulario) 

Esta acción se ejecuta cuando un usuario envía el formulario al servidor pero antes de que los datos del usuario se almacenen en la base de datos. El script se ejecuta en el lado del servidor y tiene acceso a todas las entradas que ingresó el usuario. Solo se puede asociar un mensaje para esta regla.

 Por ejemplo, si el nombre comienza con "B" o el apellido finaliza en "Y", se mostrará un mensaje de confirmación.
Se pueden utilizar muchos tipos de lógica para este tipo de validación, como Igual, No igual, Es nulo, No es nulo, Contener, No contener, Mayor que, Menor que, Comenzar con, Mayor o igual que, Menor o igual que, Comenzar con, Finalizar con.

 

5 - On Form Submit (Al enviar el formulario)

Esta acción se utiliza para ejecutar acciones cuando un nuevo registro se envía correctamente a la base de datos o cuando un registro existente se actualiza o elimina de la base de datos.  Funciona en ambas situaciones cuando se envían nuevos datos o se editan datos antiguos.
La acción en "Al enviar el formulario" se puede activar con o sin condición.
Las siguientes acciones están disponibles en el envío del formulario:

  • Mensaje de logrado.
  • Redirección URL (no funciona con Edit-Editando)
  • Web Hook.
  • Notificación de correo electrónico.
  • Integración.
  • Actualización del valor del campo.

Veamos el siguiente ejemplo que da luz gráfica a lo explicado.

En el ejemplo anterior, si el nombre es NULL (vacio) y el apellido NO es NULL(no Vacio) , se mostrará un mensaje de éxito desde el mensaje de confirmación y la página se redirigirá a "https://bitpress.pro/".
Al igual que anteriores se pueden utilizar muchos condicionales para el envío del formulario Igual, No igual, Es nulo, etc....

 

Workflow condition (Condición del flujo de trabajo): Se pueden crear varias condiciones en una regla de flujo de trabajo.
Cada condición consta de dos elementos:

1 - Especificar qué registros deben activarse, es decir, los registros que coinciden con los criterios. 
2 - Agregar los criterios en función de los cuales debe activarse.

 

3. Comportamiento de acción -

Siempre: la acción en un flujo de trabajo se ejecuta para todos los registros de forma predeterminada cuando el campo de comportamiento de la acción se establece como Siempre.

Condición: ejecuta el flujo de trabajo mediante lógica condicional, se activará para los registros que cumplan con los criterios y condiciones impuestos.

Algunos ejemplos de condicionantes:

 

En la animación de arriba,  el valor del continente se establece en "Asia" si:

-Country = Bangladesh AND (y) (City= Dhaka OR (o) Language =Bangla) AND(y)See Port = Chitattong

Entonces tenemos Country = Verdadero x (City= Verdadero + Languaje = Falso) x See Port = Verdadero

-> 1 x (1+0) x 1 = 1 x 1 x 1 = 1 = Verdadero

Con lo que la salida es Verdadera o True por lo que la acción tiene que ejecutarse y el campo Continent pasa a ser Asia 

 

Otro ejemplo gráfico

Analizamos este flujo de trabajo donde si se cumplen las condiciones el campo Contienent se rellenará de manera automática con "Asia".

Country = Bangladesh X (City = Dhaka + Languaje = bangla) X  Sea Port = chittagong

Country = Verdadero X (City=Verdadero + Languaje= Verdadero) X Sea Port = Falso

1 x (1 +1) x 0 = 1 x 1 x 0 = 0 = Falso

La condición final no se cumple por lo tanto el campo Continent se queda en vacío

 

# Cálculo: en Bit Form, puedes utilizar muchos tipos de cálculos matemáticos. Bit Form permite sumar, restar, multiplicar y dividir, puede calcular el valor de los campos de formulario o un valor personalizado.

Veamos el ejemplo a continuación:

 

Este ejemplo es bien sencillo de entender, solo hay que tener en cuenta que para las operaciones se hace referencia por la clave del campo y no por el nombre del campo, y este en formato ${FieldKey}

Así  pasando el ejemplo de la animación anterior a modo lectura tendríamos:

  • Si el valor de la Factura de Electricidad (Electricity Bill) no está Vacío(Not Null) y el valor de la Factura de Internet (Internet Bill) no está Vacio, el valor del campo Total será igual a la suma de estos dos  Total = ${bf12-7 Electricity Bill} + ${bf12-8 Internet Bill}

NOTA - Bit Form solo realiza operaciones matemáticas con campos y entradas que sean numéricos

 

Mas ejemplos en https://bitpress.pro/best-wordpress-form-builder-documentation/#conditional-logics

 

Nota del equipo:
En este artículo hay enlaces de referido, no te cuesta nada usarlos si te planteas la compra de alguno de estos programas o plugins aquí mencionados, nos ayudas a sufragar los gastos del mantenimiento de este sitio y además es una forma de reconocer nuestro trabajo.

databasefile-emptyrocketthumbs-uplayers