Configurar envio assíncrono do AEM Adaptive Forms asynchronous-submission-of-adaptive-forms

Versão
Link do artigo
AEM 6.5
Clique aqui
AEM as a Cloud Service
Este artigo

Tradicionalmente, os formulários web são configurados para enviar de forma síncrona. No envio síncrono, quando os usuários enviam um formulário, eles são redirecionados para uma página de confirmação, uma página de agradecimento ou, em caso de falha de envio, uma página de erro. No entanto, experiências da Web modernas, como aplicativos de página única, estão ganhando popularidade, onde a página da Web permanece estática enquanto a interação cliente-servidor acontece em segundo plano. É possível configurar o envio assíncrono para fornecer essa experiência com o Adaptive Forms.

No envio assíncrono, quando um usuário envia um formulário, o desenvolvedor do formulário conecta uma experiência separada, como redirecionar para outro formulário ou uma seção separada do site. O autor também pode conectar serviços separados, como enviar dados para um armazenamento de dados diferente ou adicionar um mecanismo de análise personalizado. No caso de envio assíncrono, um Formulário adaptável se comporta como um aplicativo de página única, pois o formulário não é recarregado ou sua URL não é alterada quando os dados do formulário enviado são validados no servidor.

Leia para obter detalhes sobre o envio assíncrono no Adaptive Forms.

Configurar envio assíncrono configure

Para configurar o envio assíncrono para um Formulário adaptável:

  1. No modo de criação do Formulário adaptável, selecione o objeto Contêiner de formulário e selecione cmppr1 para abrir suas propriedades.

  2. Na seção de propriedades Envio, habilite Usar envio assíncrono.

  3. Na seção Ao Enviar, selecione uma das seguintes opções para executar no envio bem-sucedido do formulário.

    • Redirecionar para URL: redireciona para a URL ou página especificada no envio do formulário. Você pode especificar uma URL ou procurar para escolher o caminho para uma página no campo Redirecionar URL/Caminho.
    • Mostrar Mensagem: Exibe uma mensagem no envio do formulário. Você pode escrever uma mensagem no campo de texto abaixo da opção Mostrar mensagem. O campo de texto é compatível com a formatação de rich text.
  4. Selecione check-button1 para salvar as propriedades.

Como o envio assíncrono funciona how-asynchronous-submission-works

Experience Manager Forms fornece manipuladores de sucesso e erro prontos para uso para envio de formulários. Os manipuladores são funções do lado do cliente executadas com base na resposta do servidor. Quando um formulário é enviado, os dados são transmitidos ao servidor para validação, o que retorna uma resposta ao cliente com informações sobre o evento bem-sucedido ou com erro para o envio. As informações são passadas como parâmetros para o manipulador relevante para executar a função.

Além disso, os autores e desenvolvedores de formulários podem escrever regras no nível do formulário para substituir os manipuladores padrão. Para obter mais informações, consulte Substituir manipuladores padrão usando regras.

Primeiro, vamos analisar a resposta do servidor em busca de eventos de sucesso e erro.

Resposta do servidor para evento de sucesso de envio server-response-for-submission-success-event

A estrutura da resposta do servidor para o evento de sucesso de envio é a seguinte:

{oneOf: [
{  properties : {
     contentType : {"type" : "string",  "enum" : ["xmlschema", "jsonschema"]},
    data : {type : "string", description : "Form data in XML or  JSON  format"},
   thankYouOption : {type : "string"}
   }},
  properties : {
     contentType : {"type" : "string",  "enum" : ["xmlschema", "jsonschema"]},
    data : {type : "string", description : "Form data in XML or  JSON  format"},
   thankYouContent: {type: "string"}
   }
]

}

A resposta do servidor em caso de envio de formulário bem-sucedido inclui:

  • Tipo de formato de dados de formulário: XML ou JSON
  • Dados de formulário em formato XML ou JSON
  • Opção selecionada para redirecionar para uma página ou exibir uma mensagem conforme configurado no formulário
  • URL da página ou conteúdo da mensagem conforme configurado no formulário

O manipulador de sucesso lê a resposta do servidor e redireciona adequadamente para o URL da página configurada ou exibe uma mensagem.

Resposta do servidor para evento de erro de envio server-response-for-submission-error-event

A estrutura da resposta do servidor para o evento de erro de envio é a seguinte:

{
   errorCausedBy : "<CAPTCHA_VALIDATION or SERVER_SIDE_VALIDATION>",

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

A resposta do servidor em caso de erro no envio do formulário inclui:

  • Motivo do erro, falha no CAPTCHA ou validação no lado do servidor
  • Lista de objetos de erro, que inclui a expressão SOM do campo cuja validação falhou e a mensagem de erro correspondente

O manipulador de erros lê a resposta do servidor e exibe a mensagem de erro no formulário.

Substituir manipuladores padrão usando regras custom

Desenvolvedores de formulários e autores podem escrever regras, no nível do formulário, para substituir manipuladores padrão. A resposta do servidor para eventos de sucesso e erro é exposta no nível do formulário, que os desenvolvedores podem acessar usando $event.data nas regras.

Execute as seguintes etapas para escrever regras para lidar com eventos bem-sucedidos e errados.

  1. Abra o Formulário adaptável no modo de criação, selecione qualquer objeto de formulário e selecione edit-rules1 para abrir o editor de regras.

  2. Selecione Formulário na árvore Objetos de Formulário e selecione Criar.

  3. Escolha foi enviado com êxito ou falha no envio na lista suspensa Selecionar estado.

  4. Defina uma ação Then para o estado selecionado. Por exemplo, selecione Navegar até e digite ou cole uma URL. Você também pode arrastar qualquer função usando a guia Funções para a regra.

    manipulador de envio bem-sucedido

  5. Selecione Concluído para salvar a regra.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab