Tag <form>


A tag <form> no HTML define um formulário na página, permitindo a coleta de informações do usuário. Dentro dessa tag, são agrupados diferentes elementos, como campos de texto, botões, caixas de seleção, entre outros, que compõem o formulário a ser preenchido e enviado pelo usuário.

Principais atributos

Atributo action

Define a URL para onde os dados do formulário serão enviados após a submissão. Essa URL pode ser um script de servidor que processará os dados do formulário.

<form action="/processar" method="post">
  <!-- Elementos do formulário aqui -->
</form>

Atributo autocomplete

Controla se o navegador deve ou não fornecer sugestões automáticas para os campos do formulário. “on” é o comportamento padrão, enquanto “off” desativa essa funcionalidade.

<form action="/processar" method="post" autocomplete="off">
  <!-- Elementos do formulário aqui -->
</form>

Atributo method

Especifica o método HTTP usado para enviar os dados do formulário. Pode ser “POST” ou “GET”, influenciando como os dados são enviados e processados no servidor.

<form action="/processar" method="post">
  <!-- Elementos do formulário aqui -->
</form>

Atributo enctype

Define como os dados do formulário devem ser codificados antes de serem enviados. Geralmente usado com formulários que incluem o envio de arquivos. Os valores comuns são application/x-www-form-urlencoded e multipart/form-data.

<form action="/upload" method="post" enctype="multipart/form-data">
  <!-- Elementos do formulário aqui -->
</form>

Atributo target

Especifica onde abrir o resultado do envio do formulário. Pode ser _self para recarregar a página atual ou _blank para abrir em um novo guia.

<form action="/processar" method="post" target="_blank">
  <!-- Elementos do formulário aqui -->
</form>

Validação de dados

A tag <form> suporta a validação de dados do lado do cliente, utilizando atributos como required, pattern, e outros. No entanto, a validação do lado do servidor também é crucial para garantir a integridade e segurança dos dados recebidos.

Nota

O atributo novalidate indica ao navegador para não fazer uma validação prévia no envio dos dados. Isso varia de navegador para navegador.

Exemplo

<form action="/processar" method="post">
  <label for="nome">Nome:</label>
  <input type="text" id="nome" name="nome" required>
 
  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required>
 
  <button type="submit">Enviar</button>
</form>

Referências