Envío asincrónico de formularios adaptables

Tradicionalmente, los formularios web se configuran para enviarse sincrónicamente. Cuando los usuarios envían un formulario, se les redirige a una página de confirmación o, en caso de error en el envío, a una página de error. Sin embargo, las experiencias web modernas, como las aplicaciones de una sola página, están adquiriendo popularidad cuando la página web permanece estática mientras que la interacción cliente-servidor se produce en segundo plano. Ahora puede proporcionar esta experiencia con formularios adaptables configurando el envío asincrónico. En este caso, un formulario adaptable se comporta como una aplicación de una sola página, ya que el formulario no se vuelve a cargar o su URL no cambia cuando los datos del formulario enviados se validan en el servidor.

Continúe leyendo para obtener más información sobre el envío asincrónico en formularios adaptables.

Configurar envío asincrónico

Para configurar el envío asincrónico para un formulario adaptable:

  1. En el modo de creación de formularios adaptables, seleccione el objeto Contenedor Formulario y toque cmppr1 para abrir sus propiedades.

  2. En la sección Propiedades de envío , habilite Usar envío asincrónico.

  3. En la sección Al enviar , seleccione una de las siguientes opciones para realizar el envío correcto del formulario.

    • Redirigir a URL: Redirige a la página o dirección URL especificada en el envío del formulario. Puede especificar una dirección URL o buscar para elegir la ruta a una página en el campo Redireccionar dirección URL/Ruta .
    • Mostrar mensaje: Muestra un mensaje al enviar el formulario. Puede escribir un mensaje en el campo de texto debajo de la opción Mostrar mensaje. El campo de texto admite el formato de texto enriquecido.
  4. Toque check-button1 para guardar las propiedades.

Funcionamiento del envío asincrónico

AEM Forms proporciona controladores de éxito y de error predeterminados para los envíos de formularios. Los controladores son funciones del lado del cliente que se ejecutan en función de la respuesta del servidor. Cuando se envía un formulario, los datos se transmiten al servidor para su validación, lo que devuelve una respuesta al cliente con información sobre el evento de éxito o error para el envío. La información se pasa como parámetros al controlador pertinente para ejecutar la función.

Además, los autores y desarrolladores de formularios pueden escribir reglas en el nivel de formulario para anular los controladores predeterminados. Para obtener más información, consulte Anulación de controladores predeterminados mediante reglas.

En primer lugar, analicemos la respuesta del servidor en busca de eventos de éxito y error.

Respuesta del servidor para el evento de éxito de envío

La estructura de la respuesta del servidor para el evento de éxito de envío es la siguiente:

{
  contentType : "<xmlschema or jsonschema>", 
  data : "<dataXML or dataJson>" , 
  thankYouOption : <page/message>, 
  thankYouContent : "<thank you page url/thank you message>"
}

La respuesta del servidor en caso de que se envíe correctamente el formulario incluye:

  • Tipo de formato de datos de formulario: XML o JSON
  • Datos de formulario en formato XML o JSON
  • Opción seleccionada para redireccionar a una página o mostrar un mensaje según la configuración del formulario
  • Dirección URL de la página o contenido del mensaje según la configuración del formulario

El controlador de éxito lee la respuesta del servidor y, en consecuencia, redirige a la dirección URL de la página configurada o muestra un mensaje.

Respuesta del servidor para el evento de error de envío

La estructura para el evento de error de envío de la respuesta del servidor es la siguiente:

{
   errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",

   errors : [
               { "somExpression" : "<SOM Expression>",
                 "errorMessage"  : "<Error Message>"
               },
               ...
             ]
 }

La respuesta del servidor en caso de error en el envío del formulario incluye:

  • Motivo del error, error en CAPTCHA o validación del lado del servidor
  • Lista de objetos de error, que incluye la expresión SOM del campo en el que se ha producido un error al efectuar la validación y el mensaje de error correspondiente

El controlador de errores lee la respuesta del servidor y, en consecuencia, muestra el mensaje de error en el formulario.

Anular controladores predeterminados mediante reglas

Los desarrolladores y autores de formularios pueden escribir reglas, a nivel de formulario, en el editor de código para anular los controladores predeterminados. La respuesta del servidor para los eventos de éxito y error se expone en el nivel de formulario, al que los desarrolladores pueden acceder mediante reglas $event.data en.

Realice los siguientes pasos para escribir reglas en el editor de código para gestionar eventos de éxito y error.

  1. Abra el formulario adaptable en modo de creación, seleccione cualquier objeto de formulario y toque edit-rules1 para abrir el editor de reglas.
  2. Seleccione Formulario en el árbol Objetos de formulario y toque Crear.
  3. Seleccione Editor de código en la lista desplegable de selección de modo.
  4. En el editor de código, toque Editar código. Toque Editar en el cuadro de diálogo de confirmación.
  5. Seleccione Envío ​correcto o Error en envío en la lista desplegable Evento .
  6. Escriba una regla para el evento seleccionado y toque Listo para guardarla.

En esta página