Acción de envío de un formulario adaptable

Se activa una acción de envío cuando un usuario hace clic en el botón Enviar en un formulario adaptable. Los formularios adaptables proporcionan algunas acciones de envío listas para usar. Las acciones de envío listas para usar son las siguientes:

También puede ampliar las acciones de envío predeterminadas para crear su propia acción de envío.

Puede configurar una acción de envío en la sección Envío de las propiedades del contenedor del formulario adaptable, en la barra lateral.

Configurar la acción de envío

Enviar al punto final REST

Utilice la acción Enviar al punto final REST para publicar los datos enviados en una URL de REST. La URL puede ser de un servidor interno (el servidor en el que se procesa el formulario) o externo.

Para enviar datos a un servidor interno, proporcione la ruta del recurso. Los datos se publican en la ruta del recurso. Por ejemplo, /content/restEndPoint. Para esas peticiones POST se utiliza la información de autenticación de la solicitud de envío.

Para enviar datos a un servidor externo, proporcione una URL. El formato de la URL es el siguiente https://host:port/path_to_rest_end_point. Asegúrese de configurar la ruta para controlar la petición POST de forma anónima.

Asignación de valores de campo pasados como parámetros de la página de agradecimiento

En el ejemplo anterior, el usuario ha escrito información en textbox y se captura mediante el parámetro param1. La sintaxis para anunciar datos capturados con param1 es la siguiente:

String data=request.getParameter("param1");

Del mismo modo, los parámetros que utiliza para publicar datos XML y archivos adjuntos son dataXml y attachments.

Por ejemplo, utiliza estos dos parámetros en el script para analizar los datos en un punto final de REST. Se utiliza la siguiente sintaxis para almacenar y analizar los datos:

String data=request.getParameter("dataXml");
String att=request.getParameter("attachments");

En este ejemplo, data almacena los datos XML y att almacena datos adjuntos.

La acción de envío Enviar al punto final REST envía los datos rellenados en el formulario a una página de confirmación configurada como parte de la petición HTTP GET. Puede agregar el nombre de los campos que desea solicitar. El formato de la solicitud es el siguiente:

{fieldName}={request parameter name}

Como se muestra en la siguiente imagen, param1 y param2 se pasan como parámetros con valores copiados de los campos cuadro de texto y del cuadro numérico para la siguiente acción.

Configurar la acción de envío del punto final de REST.

También puede Habilitar la petición POST y proporcionar una URL para publicar la solicitud. Para enviar datos al servidor de AEM que aloja el formulario, utilice una ruta relativa correspondiente a la ruta raíz del servidor de AEM. Por ejemplo, /content/forms/af/SampleForm.html. Para enviar datos a cualquier otro servidor, utilice la ruta absoluta.

NOTA

Para pasar los campos como parámetros en una URL REST, todos los campos deben tener nombres de elementos diferentes, incluso si se colocan en paneles diferentes.

Enviar correo electrónico

Puede usar la acción de envío Enviar correo electrónico para enviar un correo electrónico a uno o varios destinatarios cuando el formulario se haya enviado correctamente. El correo electrónico generado puede contener datos de formulario en un formato predefinido. Por ejemplo, en la siguiente plantilla, el nombre del cliente, la dirección de envío, el nombre del estado y el código postal se recuperan de los datos del formulario enviado.

```

Hola, ${customer_Name},

La siguiente se establece como su dirección de envío predeterminada:
${customer_Name},
${customer_Shipping_Address},
${customer_State},
${customer_ZIPCode}

Un saludo,
WKND

```
NOTA
  • Todos los campos del formulario deben tener nombres de elemento diferentes, incluso si se colocan en paneles diferentes de un formulario adaptable.
  • AEM as a Cloud Service requiere que el correo saliente esté cifrado. De forma predeterminada, el correo electrónico saliente está deshabilitado. Para habilitarlo, envíe un ticket de asistencia a Solicitar acceso.

También puede incluir archivos adjuntos y un documento de registro (DoR) en el correo electrónico. Para habilitar la opción Adjuntar documento de registro, configure el formulario adaptable para generar un documento de registro (DoR). Puede habilitar la opción para generar un documento de registro a partir de las propiedades del formulario adaptable.

Enviar mediante modelo de datos de formulario

La acción de envío Enviar mediante el modelo de datos de formulario escribe los datos del formulario adaptable enviados para el objeto del modelo de datos especificado en un modelo de datos de formulario en su origen de datos. Al configurar la acción de envío, puede elegir un objeto de modelo de datos cuyos datos enviados desee volver a escribir en su origen de datos.

Además, puede enviar al origen de datos un archivo adjunto de formulario mediante un modelo de datos de formulario y un documento de registro (DoR). Para obtener información sobre el modelo de datos de formulario, consulte integración de datos de AEM Forms .

Invocar un flujo de trabajo de AEM

La acción de envío Invocar un flujo de trabajo de AEM asocia un formulario adaptable con un Flujo de trabajo de AEM. Cuando se envía un formulario, el flujo de trabajo asociado se inicia automáticamente en la instancia Autor. Puede guardar el archivo de datos, los archivos adjuntos y el documento de registro en la ubicación de carga útil del flujo de trabajo o en una variable. Si el flujo de trabajo está marcado y configurado para el almacenamiento de datos externo, solo estará disponible la opción de variable. Puede seleccionar de la lista de variables disponibles para el modelo de flujo de trabajo. Si el flujo de trabajo está marcado para el almacenamiento de datos externos en una fase posterior y no en el momento de la creación del flujo de trabajo, asegúrese de que las configuraciones de variables requeridas estén establecidas.

La acción de envío coloca lo siguiente en la ubicación de carga útil del flujo de trabajo, o la variable si el flujo de trabajo está marcado para el almacenamiento de datos externos:

  • Archivo de datos: Contiene datos enviados al formulario adaptable. Puede usar la opción Ruta del archivo de datos para especificar el nombre y la ruta del archivo en relación con la carga útil. Por ejemplo, la ruta /addresschange/data.xml crea una carpeta llamada addresschange y la coloca en relación a la carga útil. También puede especificar únicamente data.xml para enviar solo los datos enviados sin crear una jerarquía de carpetas. Si el flujo de trabajo está marcado para el almacenamiento de datos externos, utilice la opción de variable y seleccione la variable de la lista de variables disponibles para el modelo de flujo de trabajo.

  • Archivos adjuntos: Puede usar la opción Ruta de archivos adjuntos para especificar el nombre de la carpeta en la que se almacenarán los archivos adjuntos cargados en el formulario adaptable. La carpeta se creará en relación con la carga útil. Si el flujo de trabajo está marcado para el almacenamiento de datos externos, utilice la opción de variable y seleccione la variable de la lista de variables disponibles para el modelo de flujo de trabajo.

  • Documento de registro: Contiene el documento de registro generado para el formulario adaptable. Puede usar la opción Ruta del documento de registro para especificar el nombre y la ruta del documento de registro en relación con la carga útil. Por ejemplo, la ruta /addresschange/DoR.pdf crea una carpeta llamada addresschange en relación con la carga útil y coloca DoR.pdf en relación con la carga útil. También puede especificar únicamente DoR.pdf para guardar solo el documento de registro sin crear una jerarquía de carpetas. Si el flujo de trabajo está marcado para el almacenamiento de datos externos, utilice la opción de variable y seleccione la variable de la lista de variables disponibles para el modelo de flujo de trabajo.

Antes de usar la acción de envío Invocar un flujo de trabajo de AEM, configure lo siguiente en la configuración del Servicio de configuración de AEM DS:

  • URL del servidor de procesamiento: El servidor de procesamiento es el servidor en el que se activa Forms o AEM Workflow. Puede ser la misma que la URL de la instancia Autor de AEM u otro servidor.

  • Nombre de usuario del servidor de procesamiento: Nombre de usuario del usuario del flujo de trabajo

  • Contraseña del servidor de procesamiento: Contraseña del usuario del flujo de trabajo

Para establecer los valores de una configuración, Generar configuraciones OSGi mediante el SDK de AEM e implemente la configuración a su instancia de Cloud Service.

Usar envío sincrónico o asincrónico

Una acción de envío puede utilizar el envío sincrónico o asincrónico.

Envío sincrónico: Tradicionalmente, los formularios web se configuran para enviarse sincrónicamente. En un envío sincrónico, cuando los usuarios envían un formulario, se les redirige a una página de reconocimiento, una página de agradecimiento o, si hay un error en el envío, a una página de error. Puede seleccionar la opción Usar envío asincrónico para redirigir a los usuarios a una página web o mostrar un mensaje en el envío.

Configurar la acción de envío

Envío asincrónico: Las experiencias web modernas, como las aplicaciones de una sola página, están ganando popularidad cuando la página web permanece estática mientras que la interacción entre el cliente y el servidor se produce en segundo plano. Ahora puede proporcionar esta experiencia con formularios adaptables mediante la configuración del envío asincrónico.

Revalidación del lado del servidor en formularios adaptables

Normalmente, en cualquier sistema de captura de datos en línea, los desarrolladores colocan algunas validaciones de JavaScript en el lado del cliente para aplicar algunas reglas empresariales. Sin embargo, en los exploradores modernos, los usuarios finales tienen la forma de evitar esas validaciones y realizar envíos manualmente mediante diversas técnicas, como la consola de desarrolladores del explorador web. Estas técnicas también son válidas para los formularios adaptables. Un desarrollador de formularios puede crear varias lógicas de validación, pero técnicamente, los usuarios finales pueden omitir esas lógicas de validación y enviar datos no válidos al servidor. Los datos no válidos romperían las reglas empresariales que ha impuesto un autor de formularios.

La característica de revalidación del lado del servidor permite ejecutar también las validaciones que ha proporcionado un autor de formularios adaptables al diseñar un formulario adaptable en el servidor. Evita cualquier posible compromiso en el envíos de datos y violaciones de reglas empresariales representadas en términos de validaciones de formularios.

¿Qué se debe validar en el servidor?

Todas las validaciones de campo listas para usar (OOTB) de un formulario adaptable que se vuelven a ejecutar en el servidor son las siguientes:

  • Requerido
  • Cláusula de imagen de validación
  • Expresión de validación

Habilitar la validación del lado del servidor

Utilice Revalidar en el servidor en el contenedor de formularios adaptables en la barra lateral para habilitar o deshabilitar la validación del lado del servidor para el formulario actual.

Habilitar la validación del lado del servidor

Habilitar la validación del lado del servidor

Si el usuario final omite esas validaciones y envía los formularios, el servidor volverá a realizar la validación. Si la validación falla al final del servidor, se detendrá la transacción del envío. Al usuario final se le volverá a presentar el formulario original. Los datos capturados y enviados se presentarán al usuario como un error.

NOTA

La validación del lado del servidor valida el modelo de formulario. Se recomienda crear una biblioteca de cliente independiente para las validaciones y no mezclarla con otras cosas como el estilo del HTML y la manipulación DOM en la misma biblioteca de cliente.

Compatibilidad con funciones personalizadas en expresiones de validación

A veces, si hay reglas de validación complejas, el script de validación exacta reside en funciones personalizadas y el autor llama a estas funciones personalizadas desde la expresión de validación de campo. Para que esta biblioteca de funciones personalizadas sea conocida y esté disponible mientras se realizan las validaciones del lado del servidor, el autor del formulario puede configurar el nombre de la biblioteca de cliente de AEM en la pestaña Básico de las propiedades del contenedor del formulario adaptable como se muestra a continuación.

Compatibilidad con funciones personalizadas en expresiones de validación

Compatibilidad con funciones personalizadas en expresiones de validación

El autor puede configurar la biblioteca customJavaScript para formularios adaptables. En la biblioteca, mantenga solo las funciones reutilizables, que dependen de las bibliotecas de terceros jquery y underscore.js.

Tratamiento de errores en la acción de envío

Como parte de las directrices de seguridad y endurecimiento de AEM, configure páginas de error personalizadas como 400.jsp, 404.jsp y 500.jsp. Se llama a estos controladores cuando aparecen errores 400, 404 o 500 al enviar un formulario. También se llama a los controladores cuando estos códigos de error se activan en el nodo Publish. También puede crear páginas JSP para otros códigos de error HTTP.

Cuando rellena previamente un modelo de datos de formulario o un formulario adaptable basado en un esquema, con datos XML o JSON que se ajustan a un esquema que no contiene las etiquetas <afData>, <afBoundData>y </afUnboundData>, los datos de los campos ilimitados del formulario adaptable se perderán. El esquema puede ser un esquema XML, JSON o un modelo de datos de formulario. Los campos sin límites son campos de formulario adaptable sin la propiedad bindref.

En esta página