Envoi asynchrone de formulaires adaptatifs asynchronous-submission-of-adaptive-forms

CAUTION
AEM 6.4 a atteint la fin de la prise en charge étendue et cette documentation n’est plus mise à jour. Pour plus d’informations, voir notre période de support technique. Rechercher les versions prises en charge here.

Traditionnellement, les formulaires web sont configurés à des fins d’envoi synchrone. Lorsque les utilisateurs envoient un formulaire, ils sont redirigés vers une page d’accusé de réception ou, en cas d’échec de l’envoi, vers une page d’erreur. Toutefois, les expériences Web modernes telles que les applications d’une seule page gagnent en popularité. Dans une application de ce type, la page Web reste statique tandis que l’interaction entre le client et le serveur se déroule en arrière-plan. Vous pouvez désormais fournir cette expérience avec des formulaires adaptatifs en configurant l’envoi asynchrone. Dans ce cas, un formulaire adaptatif se comporte comme une application d’une seule page, car le formulaire ne se recharge pas ou son URL ne change pas lorsque les données de formulaire envoyées sont validées sur le serveur.

Lisez la suite pour plus d’informations sur l’envoi asynchrone dans les formulaires adaptatifs.

Configuration de l’envoi asynchrone configure

Pour configurer l’envoi asynchrone d’un formulaire adaptatif :

  1. En mode de création de formulaire adaptatif, sélectionnez l’objet Conteneur de formulaires et appuyez sur cmppr1 pour ouvrir ses propriétés.

  2. Dans la section des propriétés Envoi, activez Utiliser l’envoi asynchrone.

  3. Dans le Lors de l’envoi , sélectionnez l’une des options suivantes à exécuter lors de l’envoi réussi d’un formulaire.

    • Rediriger vers l’URL: Redirige vers l’URL ou la page spécifiée lors de l’envoi du formulaire. Vous pouvez spécifier une URL ou sélectionner le chemin d’accès à une page dans le champ URL/Chemin d’accès restreint.
    • Afficher le message  : affiche un message lors de l’envoi d’un formulaire. Vous pouvez rédiger un message dans le champ de texte situé en dessous de l’option Afficher le message. Le champ de texte prend en charge la mise en forme de texte enrichi.
  4. Appuyez sur check-button1 pour enregistrer les propriétés.

Fonctionnement de l’envoi asynchrone how-asynchronous-submission-works

AEM Forms fournit des gestionnaires de réussite et d’erreur prêts à l’emploi pour les envois de formulaire. Les gestionnaires sont des fonctions côté client qui s’exécutent en fonction de la réponse du serveur. Lorsqu’un formulaire est envoyé, les données sont transmises au serveur pour validation, ce qui renvoie une réponse au client avec des informations sur l’événement de succès ou d’erreur pour l’envoi. Les informations sont transmises en tant que paramètres au gestionnaire approprié pour exécuter la fonction.

En outre, les auteurs de formulaire et les développeurs peuvent écrire des règles au niveau du formulaire pour remplacer les gestionnaires par défaut. Pour plus d’informations, voir Remplacement des gestionnaires par défaut à l’aide de règles.

Examinons d’abord la réponse du serveur pour les événements de succès et d’erreur.

Réponse du serveur pour l’événement de succès de l’envoi server-response-for-submission-success-event

La structure de la réponse du serveur pour l’événement de succès de l’envoi est la suivante :

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

La réponse du serveur en cas d’envoi de formulaire réussi comprend :

  • Type de format des données de formulaire : XML ou JSON
  • Données de formulaire au format XML ou JSON
  • Option sélectionnée pour rediriger vers une page ou afficher un message tel que configuré dans le formulaire.
  • URL de la page ou contenu du message tel que configuré dans le formulaire

Le gestionnaire de succès lit la réponse du serveur et redirige en conséquence vers l’URL de page configurée ou affiche un message.

Réponse du serveur pour l’événement d’erreur d’envoi server-response-for-submission-error-event

La structure de la réponse du serveur pour l’événement d’erreur d’envoi est la suivante :

{
   errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",

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

La réponse du serveur en cas d’erreur lors de l’envoi du formulaire comprend :

  • Raison de l’erreur, échec de la validation CAPTCHA ou côté serveur
  • Liste des objets d’erreur, qui inclut l’expression SOM du champ dont la validation a échoué et le message d’erreur correspondant.

Le gestionnaire d’erreurs lit la réponse du serveur et affiche en conséquence le message d’erreur sur le formulaire.

Remplacer les gestionnaires par défaut en utilisant des règles custom

Les développeurs et les auteurs de formulaires peuvent écrire des règles, au niveau du formulaire, dans l’éditeur de code pour remplacer les gestionnaires par défaut. La réponse du serveur pour les événements de succès et d’erreur est exposée au niveau du formulaire. Les développeurs peuvent y accéder à l’aide de $event.data dans les règles.

Effectuez les étapes suivantes pour écrire des règles dans l’éditeur de code afin de gérer les événements de réussite et d’erreur.

  1. Ouvrez le formulaire adaptatif en mode création, sélectionnez n’importe quel objet de formulaire et cliquez sur edit-rules1 pour ouvrir l’éditeur de règles.
  2. Sélectionnez Formulaire dans l’arborescence des objets de formulaire et appuyez sur Créer.
  3. Sélectionner Éditeur de code dans la liste déroulante sélection de mode .
  4. Dans l’éditeur de code, appuyez sur Modifier le code. Appuyer Modifier dans la boîte de dialogue de confirmation.
  5. Choisir Envoi réussi ou Erreur dans l’envoi de la Événement menu déroulant.
  6. Créez une règle pour l’événement sélectionné et appuyez sur Terminé pour enregistrer la règle.
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da