Módulo Webform no Drupal 8

O Drupal 8 possui em seu core o módulo "Cantact". Com ele é possível criar formulários customizados via interface, sem precisar por a mão no código. Porém, seu nível de customização é limitado, podendo não ser útil em caso de formulário mais complexos, como por exemplo:

  • Formulário com múltiplos steps
  • Formulário exposto em um bloco
  • Registro de submissões
  • Fazer um redirecionamento após submitar
  • Customizar mensagem de "enviado com sucesso"

Por esse motivo, vamos utilizar o módulo Webform. Faça o download e habilite-o:

drush dl webform
drush en webform -y

Após habilitar, vamos criar o nosso primeiro formulário.
Vá em: Administração - Estrutura - Webforms (admin/structure/webform)

Click em "Add webform".


Repare que no campo "Elements (YAML)" é onde você cria os campos do formulário, utilizando o formato YAML. Isso pode parecer complicado para quem não tem conhecimento da estrutura YAML, mas não se assuste, basta habilitar o submódulo "Webform UI (webform_ui)" e você terá a forma de adicionar campos semelhante ao de um Tipo de conteúdo.

drush en webform_ui -y

Após habilitar, recarregue a página. Você verá que o campo "Elements (YAML)" desapareceu.
Informe o Título do formulário e clique em "Salvar".

Na tela seguinte, adicione os campos que desejar. Exemplo:


Após salvar, clique na aba  "Settings". Em "URL PATH SETTINGS" informe a url que deseja para acessar o seu formulário:


Nesta aba "Settings" você vai encontrar diversas configurações, como: Página de confirmação, alterar mensagem de enviado com sucesso, limite de submissões, etc. Fique à vontade para fazer as configurações que desejar.

Na aba "Emails / Handlers", você pode configurar o destinatário que irá receber a submissão do formulário. Para este tutorial não ficar muito extenso, não vou mostrar como fazer essa configuração, mas basta assistir o vídeo no botão "Watch video", onde é mostrado detalhadamente:


Feita as configurações desejadas, salve seu formulário e acesse sua url para testá-lo:


Como eu disse anteriormente, o módulo Webform possui um grande nível de customização e para ajuda-lo a entender melhor, ele vem acompanhado de diversas vídeo-aulas, além de um submódulo chamado "Webform Examples (webform_examples)" onde você pode estar utilizando os exemplos como modelo.

Espero que tenha ajudado.
Até o próximo tutorial!

Login do usuário