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?

Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.


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.


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.