Módulo 7 de 8

Formulários e Validação

Ao final deste módulo, você será capaz de:

1. Lendo o valor de um campo de texto

Todo <input> tem uma propriedade .value com o texto digitado pelo usuário:

// HTML: <input id="campoNome" type="text">

const campoNome = document.querySelector("#campoNome");
console.log(campoNome.value); // o que o usuário digitou

2. preventDefault(): evitando o recarregamento da página

Por padrão, ao enviar (submit) um formulário, a página recarrega. Para controlar o envio com JavaScript, chamamos evento.preventDefault() logo no início da função:

const formulario = document.querySelector("#meuFormulario");

formulario.addEventListener("submit", function (evento) {
  evento.preventDefault(); // impede o recarregamento da página
  console.log("Formulário enviado sem recarregar a página!");
});
Atenção: se você esquecer o preventDefault(), a página recarrega antes do seu código terminar de rodar — e parecerá que "nada aconteceu".

3. Validando dados do usuário

Antes de usar os dados de um formulário, é fundamental validar. Alguns exemplos comuns:

function validarNome(nome) {
  if (nome.trim() === "") {
    return "O nome não pode estar vazio.";
  }
  if (nome.trim().length < 3) {
    return "O nome deve ter pelo menos 3 letras.";
  }
  return null; // null significa "sem erro"
}

console.log(validarNome(""));      // "O nome não pode estar vazio."
console.log(validarNome("Al"));    // "O nome deve ter pelo menos 3 letras."
console.log(validarNome("Alice")); // null
Dica: string.trim() remove espaços do início e do fim do texto — muito útil para não deixar o usuário "enganar" a validação digitando só espaços.

4. Formulário completo: cadastro com validação e mensagens de erro

Preencha o formulário abaixo e clique em enviar. Tente também deixar campos vazios ou inválidos para ver as mensagens de erro.

Exercício prático (sem interface, só lógica)

Quiz de fixação