HTML - Atributos de Formulário
Atributos Comuns de Formulário
action
O atributo action
especifica a URL ou script do lado do servidor que irá lidar com o envio do formulário. Quando você envia o formulário, os dados do formulário são enviados para a URL ou script especificado para processamento. O valor do atributo action
pode ser uma URL absoluta ou relativa.
Exemplo: atributo action
<form action="/submit-form.php">
<!-- elementos do formulário -->
</form>
Quando você envia o formulário, os dados serão enviados para o script "/submit-form.php" no servidor para processamento.
method
O atributo method
define o método HTTP usado para o envio do formulário. Os dois valores mais comuns são GET e POST.
Método | Descrição |
---|---|
GET | Os dados do formulário são adicionados à URL especificada no atributo action como parâmetros de consulta. Este método é bom para formulários simples com uma pequena quantidade de dados. Os dados do formulário ficam visíveis na URL e podem ser adicionados aos favoritos ou compartilhados. |
POST | Os dados do formulário são enviados no corpo da requisição HTTP. Este método é bom para formulários maiores ou quando se envia informações sensíveis, pois os dados não ficam visíveis na URL. |
Exemplo: atributo method
<form action="/submit-form.php" method="POST">
<!-- elementos do formulário -->
</form>
Os dados do formulário serão enviados usando o método POST quando você enviar o formulário.
target
O atributo target
especifica onde exibir a resposta após o envio do formulário. Ele determina a janela ou frame alvo onde a resposta do servidor será carregada. Os valores possíveis são:
Valor | Descrição |
---|---|
_blank | Abre a resposta em uma nova janela ou aba. |
_self | Abre a resposta na mesma janela ou frame do formulário (comportamento padrão). |
_parent | Abre a resposta no frame pai do frame atual. |
_top | Abre a resposta no corpo inteiro da janela, substituindo quaisquer frames existentes. |
Exemplo: atributo target
<form action="/submit-form.php" target="_blank">
<!-- elementos do formulário -->
</form>
Quando você enviar o formulário, a resposta do servidor será aberta em uma nova janela ou aba.
enctype
O atributo enctype
especifica o tipo de codificação para os dados do formulário ao usar o método POST. É usado para indicar como os dados do formulário devem ser codificados antes de serem enviados ao servidor. Os valores comuns são:
Valor | Descrição |
---|---|
application/x-www-form-urlencoded | Este é o valor padrão. Ele codifica os dados do formulário como pares de chave-valor codificados em URL. Espaços são substituídos por "+" e caracteres especiais são codificados. |
multipart/form-data | Este valor é usado quando o formulário inclui uploads de arquivos. Ele permite que os dados do formulário sejam enviados em várias partes, incluindo dados de arquivos. |
Exemplo: atributo enctype
<form action="/submit-form.php" method="POST" enctype="multipart/form-data">
<!-- elementos do formulário -->
</form>
Os dados do formulário serão codificados usando o tipo de codificação "multipart/form-data", permitindo que uploads de arquivos sejam incluídos no envio do formulário.
Atributos de Validação de Formulário
required
O atributo required
indica que um campo do formulário deve ser preenchido antes que o formulário possa ser enviado. Quando você adiciona o atributo required
a um campo de entrada, o navegador verificará se o campo tem um valor antes de permitir o envio do formulário. Se o campo estiver vazio, o navegador mostrará uma mensagem de erro e impedirá o envio do formulário.
Exemplo: atributo required
<form>
<label for="name">Nome:</label>
<input type="text" id="name" name="name" required>
<input type="submit" value="Enviar">
</form>
O campo "Nome" está marcado como obrigatório. Se você tentar enviar o formulário sem inserir um valor no campo "Nome", o navegador mostrará uma mensagem de erro e impedirá o envio do formulário.
min e max
Os atributos min
e max
definem os valores mínimos e máximos para campos de entrada numéricos, como os tipos number
, range
e date
. Esses atributos ajudam você a estabelecer limites para os valores permitidos nesses campos.
Exemplo: atributos min e max
<form>
<label for="quantity">Quantidade:</label>
<input type="number" id="quantity" name="quantity" min="1" max="10">
<input type="submit" value="Enviar">
</form>
O campo "Quantidade" tem um valor mínimo de 1 e um valor máximo de 10. Se você tentar inserir um valor fora desse intervalo, o navegador mostrará uma mensagem de erro quando você enviar o formulário.
minlength e maxlength
Os atributos minlength
e maxlength
definem o número mínimo e máximo de caracteres permitidos em um campo de entrada de texto. Esses atributos ajudam você a controlar o comprimento da entrada do usuário.
Exemplo: atributos minlength e maxlength
<form>
<label for="username">Nome de usuário:</label>
<input type="text" id="username" name="username" minlength="4" maxlength="10">
<input type="submit" value="Enviar">
</form>
O campo "Nome de usuário" deve ter no mínimo 4 caracteres e no máximo 10 caracteres. Se o valor inserido não atender a esses requisitos, o navegador mostrará uma mensagem de erro quando você enviar o formulário.
pattern
O atributo pattern
define um padrão de expressão regular que o valor de entrada deve corresponder. Ele permite que você estabeleça um formato ou padrão que a entrada do usuário deve seguir. Se o valor inserido não corresponder ao padrão, o navegador mostrará uma mensagem de erro.
Exemplo: atributo pattern
<form>
<label for="phone">Número de telefone:</label>
<input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}">
<input type="submit" value="Enviar">
</form>
O campo "Número de telefone" tem um padrão que exige que a entrada esteja no formato de três dígitos, seguidos por um hífen, mais três dígitos, outro hífen e quatro dígitos (por exemplo, 123-456-7890). Se o número de telefone inserido não corresponder a esse padrão, o navegador mostrará uma mensagem de erro quando você enviar o formulário.
Atributos de Acessibilidade
autocomplete
O atributo autocomplete
indica se um campo de formulário deve ter o preenchimento automático ativado ou desativado. O preenchimento automático sugere possíveis valores com base em valores inseridos anteriormente para o mesmo campo. Por padrão, o preenchimento automático está ativado para a maioria dos campos de formulário. No entanto, você pode controlar esse comportamento usando o atributo autocomplete
.
Os valores possíveis para o atributo autocomplete
são:
Valor | Descrição |
---|---|
on | Ativa o preenchimento automático para o campo do formulário. |
off | Desativa o preenchimento automático para o campo do formulário. |
Exemplo: atributo autocomplete
<form>
<label for="username">Nome de usuário:</label>
<input type="text" id="username" name="username" autocomplete="off">
<input type="submit" value="Enviar">
</form>
O campo "Nome de usuário" tem o preenchimento automático desativado. O navegador não sugerirá valores inseridos anteriormente para este campo.
readonly
O atributo readonly
especifica que um campo de formulário é somente leitura e não pode ser alterado pelo usuário. Quando você adiciona o atributo readonly
a um campo de entrada, o usuário ainda pode ver o valor do campo, mas não pode alterá-lo. O valor do campo será enviado quando o formulário for submetido.
Exemplo: atributo readonly
<form>
<label for="email">E-mail:</label>
<input type="email" id="email" name="email" value="usuario@exemplo.com" readonly>
<input type="submit" value="Enviar">
</form>
O campo "E-mail" está marcado como somente leitura. O usuário não pode alterar o valor do campo, mas ele será incluído no envio do formulário.
disabled
O atributo disabled
indica que um campo de formulário está desativado e não pode ser usado pelo usuário. Quando você adiciona o atributo disabled
a um campo de entrada, o campo fica acinzentado e não clicável. O valor do campo não será enviado quando o formulário for submetido.
Exemplo: atributo disabled
<form>
<label for="country">País:</label>
<select id="country" name="country" disabled>
<option value="US">Estados Unidos</option>
<option value="CA">Canadá</option>
<option value="UK">Reino Unido</option>
</select>
<input type="submit" value="Enviar">
</form>
A lista suspensa "País" está desativada. O usuário não pode selecionar um valor e o valor do campo não será incluído no envio do formulário.
O uso dos atributos readonly
e disabled
pode ajudar a melhorar a acessibilidade, fornecendo dicas visuais aos usuários sobre a interatividade dos campos do formulário. É importante usar esses atributos corretamente com base nos requisitos específicos do seu formulário.
Outros Atributos de Formulário
accept-charset
O atributo accept-charset
especifica as codificações de caracteres que o servidor aceita para envio do formulário. Ele informa ao navegador quais codificações de caracteres o servidor pode processar. Por padrão, os dados do formulário são enviados usando a codificação de caracteres da página que contém o formulário.
Exemplo: Codificação de Caracteres em Formulário
<form action="/submit-form.php" accept-charset="UTF-8">
<!-- elementos do formulário -->
</form>
Os dados do formulário serão enviados usando a codificação de caracteres UTF-8, conforme especificado pelo atributo accept-charset
. Se o servidor não suportar a codificação de caracteres especificada, ele pode não processar corretamente os dados do formulário.
É importante observar que o atributo accept-charset
é raramente usado hoje em dia, pois a maioria dos servidores é configurada para lidar com a codificação de caracteres da página por padrão. No entanto, se você precisar especificar uma codificação de caracteres diferente para o envio do formulário, você pode usar este atributo.
novalidate
O atributo novalidate
indica que o formulário não deve ser validado quando for enviado. Por padrão, os formulários HTML5 realizam validação do lado do cliente antes de enviar os dados do formulário para o servidor. O atributo novalidate
ignora esta etapa de validação.
Exemplo: Formulário Sem Validação do Lado do Cliente
<form action="/submit-form.php" novalidate>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<input type="submit" value="Enviar">
</form>
Quando você enviar o formulário, o navegador não realizará a validação do lado do cliente nos campos do formulário. Os dados do formulário serão enviados para o servidor sem verificar se a entrada é válida.
O atributo novalidate
é útil em situações onde você deseja lidar com a validação do formulário apenas no lado do servidor, ou quando você tem sua própria lógica de validação personalizada implementada usando JavaScript.
Lembre-se que usar o atributo novalidate
não significa que você deve pular completamente a validação do formulário. Ainda é importante realizar a validação do lado do servidor para garantir que os dados enviados sejam válidos e seguros para processamento. A validação do lado do cliente é uma camada extra de validação que ajuda a detectar erros de entrada antecipadamente e economizar recursos do servidor.
Ao usar os atributos accept-charset
e novalidate
de forma apropriada, você pode controlar a codificação de caracteres e o comportamento de validação de seus formulários HTML para atender às necessidades da sua aplicação.