O HTML5 trouxe vários tipos de campos e atributos que facilitam a vida do usuário e ajudam a evitar erros comuns antes mesmo de enviar o formulário.

Nesta aula, vamos conhecer os campos modernos e a validação nativa do navegador.

Campos modernos de <input>

Além do text e password, o HTML5 introduziu novos tipos de campo:

  • email — e-mail
  • tel — telefones
  • url — endereços de internet
  • search — campos de busca
  • number — números
  • range — intervalos
  • date — datas
  • datetime — datas detalhadas
  • month — meses
  • week — semanas
  • time — hora
  • color — cores
 <input type="email"> <input type="number"> <input type="date"> 
O navegador adapta o teclado e o comportamento conforme o tipo do campo.

Campo de e-mail — email

O tipo email é usado para endereços de e-mail. O navegador verifica automaticamente se o formato digitado é válido.


  <label for="email">E-mail</label> 
  <input type="email" id="email" placeholder="email@exemplo.com" required> 

Campo de telefone — tel

O tipo tel é usado para números de telefone. Ele não valida o formato automaticamente, mas adapta o teclado em dispositivos móveis.

 
  <label for="telefone">Telefone</label> 
  <input type="tel" id="telefone" placeholder="(11) 99999-9999"> 

Campo de URL — url

O tipo url é usado para endereços de sites. O navegador verifica se o valor digitado parece uma URL válida.

 
  <label for="site">Site</label> 
  <input type="url" id="site" placeholder="https://exemplo.com"> 

Campo de busca — search

O tipo search é usado para campos de pesquisa. Visualmente pode ser igual ao texto, mas semanticamente indica busca.

 
  <label for="busca">Buscar</label> 
  <input type="search" id="busca" placeholder="Digite sua busca"> 

Campo numérico — number

O tipo number permite apenas números e pode incluir controles de incremento.

 
  <label for="idade">Idade</label> 
  <input type="number" id="idade" min="0" max="120"> 

Controle deslizante — range

O tipo range cria um controle deslizante para escolher valores dentro de um intervalo.

 
  <label for="volume">Volume</label> 
  <input type="range" id="volume" min="0" max="100"> 

Data — date

O tipo date permite selecionar uma data usando um calendário.

 
  <label for="data">Data</label> 
  <input type="date" id="data"> 

Data e hora — datetime-local

O tipo datetime-local permite selecionar data e hora juntas, sem considerar fuso horário.

 
  <label for="evento">Data e hora</label> 
  <input type="datetime-local" id="evento"> 

Mês — month

O tipo month permite selecionar apenas mês e ano.

 
  <label for="mes">Mês</label> 
  <input type="month" id="mes"> 

Semana — week

O tipo week permite selecionar uma semana específica do ano.

 
  <label for="semana">Semana</label> 
  <input type="week" id="semana"> 

Hora — time

O tipo time permite selecionar apenas a hora, sem data.

 
  <label for="hora">Hora</label> 
  <input type="time" id="hora"> 

Cor — color

O tipo color exibe um seletor de cores nativo do navegador.

 
  <label for="cor">Escolha uma cor</label> 
  <input type="color" id="cor"> 

A imagem abaixo exibe um formulário contendo todos estes campos de entrada. Note que ele permite uma seleção facilitada para cada item, de acordo com sua estrutura.

Exemplo de formulário contendo diversos campos modernos do HTML5
Exemplo de formulário contendo diversos campos modernos do HTML5

O atributo required

O atributo required indica que o campo é obrigatório.

 <input type="email" required> 

Se o usuário tentar enviar o formulário sem preencher esse campo, o navegador exibirá uma mensagem automaticamente.

Essa validação acontece sem JavaScript.

O atributo placeholder

O placeholder exibe um texto de exemplo dentro do campo.

 
  <input type="email" placeholder="Digite seu e-mail"> 

O código acima resultará na seguinte página sendo criada:

Exemplo de página HTML
Placeholder não substitui o <label>.

Combinando tudo em um formulário

 
  <form> 
  <label for="email">E-mail</label> 
  <input type="email" id="email" placeholder="email@exemplo.com" required >
  <br />  <br />
  <label for="idade">Idade  </label> 
  <input type="number" id="idade" required> 
  <br />  <br />
  <label for="nascimento">Data de nascimento  </label> 
  <input type="date" id="nascimento"> 
  <br />  <br />
  <input type="submit" value="Enviar"> 
  </form> 

O código acima resultará na seguinte página sendo criada:

Exemplo de página HTML

Mesmo sem JavaScript, esse formulário já:

  • Valida campos obrigatórios
  • Verifica formato de e-mail
  • Ajuda o usuário com dicas visuais

Validação nativa do navegador

A validação nativa:

  • É automática
  • É rápida de implementar
  • Funciona sem JavaScript
Mesmo usando JavaScript depois, a validação nativa deve continuar existindo.

💾🧠 Resumo da aula para nunca mais esquecer

  • HTML5 trouxe novos tipos de <input>
  • email, number e date facilitam a entrada de dados
  • required cria validação automática
  • placeholder ajuda, mas não substitui o label

Na próxima aula, vamos aprender sobre mídia no HTML5: áudio e vídeo direto no navegador 🎧🎬


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.