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 no 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. Agora você pode fornecer essa experiência com formulários adaptáveis configurando o envio assíncrono.
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 de formulário enviados são validados no servidor.
Leia para obter detalhes sobre envio assíncrono em formulários adaptáveis.
Para configurar o envio assíncrono para um formulário adaptável:
No modo de criação de formulário adaptável, selecione o objeto Contêiner de formulário e toque em para abrir suas propriedades.
No Envio seção de propriedades, ativar Usar envio assíncrono.
No Ao enviar selecione uma das seguintes opções a serem executadas no envio bem-sucedido do formulário.
Toque para salvar as propriedades.
O AEM Forms fornece manipuladores de sucesso e erro prontos para uso para envios 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.
A estrutura da resposta do servidor para o evento de sucesso de envio é a seguinte:
{
contentType : "<xmlschema or jsonschema>",
data : "<dataXML or dataJson>" ,
thankYouOption : <page/message>,
thankYouContent : "<thank you page url/thank you message>"
}
A resposta do servidor em caso de envio de formulário bem-sucedido inclui:
O manipulador de sucesso lê a resposta do servidor e redireciona adequadamente para o URL da página configurada ou exibe uma mensagem.
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:
O manipulador de erros lê a resposta do servidor e exibe a mensagem de erro no formulário.
Desenvolvedores de formulários e autores podem escrever regras, no nível do formulário, no editor de código 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 no editor de código para lidar com eventos de sucesso e erro.