Validando formulários no frontend com JavaScript

Entenda como usar JavaScript para validar formulários no frontend, garantindo que os dados sejam válidos e completos antes do envio.

Como validar formulários no frontend com JavaScript?

A validação de formulários é uma das operações mais importantes em aplicações web. Ela garante que os dados fornecidos pelos usuários sejam corretos e completos antes de serem enviados para o servidor. Com JavaScript, você pode realizar validações dinâmicas e interativas, melhorando a experiência do usuário e evitando o envio de dados inválidos.

A importância da validação de formulários

Validar dados no frontend é importante porque:

  • Prevenção de erros no servidor: Evita que dados incorretos ou incompletos sejam enviados para o servidor, o que poderia causar falhas ou resultados imprecisos.
  • Melhora a experiência do usuário: Oferece feedback imediato ao usuário, mostrando se ele cometeu um erro e fornecendo instruções claras para corrigi-lo.
  • Reduz o tráfego de rede: Evita o envio de formulários com dados inválidos, economizando recursos no servidor e na rede.

Como validar campos individuais com JavaScript?

No JavaScript, você pode acessar os valores dos campos de um formulário e verificá-los individualmente para garantir que atendem aos critérios necessários. A seguir, veremos um exemplo de validação de campo de texto e de e-mail.

Exemplo de validação do campo de nome:

let meuFormulario = document.getElementById('meuFormulario');
let campoNome = document.getElementById('nome');

meuFormulario.addEventListener('submit', function(event) {
  event.preventDefault();  // Impede o envio do formulário
  if (campoNome.value === '') {
    alert('O campo nome é obrigatório!');
  } else {
    alert('Nome validado com sucesso!');
  }
});

Aqui, verificamos se o campo de nome está vazio. Se estiver, mostramos uma mensagem de erro, caso contrário, mostramos uma mensagem de sucesso.

Validação de e-mail com JavaScript

Outro campo comum em formulários é o e-mail. Podemos validar se o valor inserido é um formato de e-mail válido usando uma expressão regular (regex).

Exemplo de validação de e-mail:

let campoEmail = document.getElementById('email');

meuFormulario.addEventListener('submit', function(event) {
  event.preventDefault();  // Impede o envio do formulário
  let regexEmail = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  if (!regexEmail.test(campoEmail.value)) {
    alert('Por favor, insira um e-mail válido.');
  } else {
    alert('E-mail validado com sucesso!');
  }
});

Aqui, usamos uma expressão regular para verificar se o formato do e-mail é válido antes de permitir que o formulário seja enviado.

Validação de campos obrigatórios e tamanho de texto

Em formulários, é comum ter campos obrigatórios ou campos com um limite mínimo ou máximo de caracteres. Você pode validar esses campos facilmente com JavaScript.

Exemplo de validação de campo obrigatório e tamanho mínimo de texto:

let campoSenha = document.getElementById('senha');

meuFormulario.addEventListener('submit', function(event) {
  event.preventDefault();  // Impede o envio do formulário
  if (campoSenha.value === '') {
    alert('A senha é obrigatória!');
  } else if (campoSenha.value.length < 6) {
    alert('A senha deve ter pelo menos 6 caracteres.');
  } else {
    alert('Senha validada com sucesso!');
  }
});

Neste exemplo, verificamos se o campo de senha não está vazio e se o comprimento da senha é pelo menos 6 caracteres.

Enviando o formulário após validação

Após validar todos os campos, você pode enviar o formulário com submit() ou através de AJAX, para que a página não seja recarregada.

Exemplo de envio de formulário com validação:

meuFormulario.addEventListener('submit', function(event) {
  event.preventDefault();  // Impede o envio padrão do formulário
  let formularioValido = true;

  if (campoNome.value === '') {
    formularioValido = false;
    alert('O campo nome é obrigatório!');
  }
  if (!regexEmail.test(campoEmail.value)) {
    formularioValido = false;
    alert('Por favor, insira um e-mail válido.');
  }
  if (formularioValido) {
    meuFormulario.submit();  // Envia o formulário
  }
});

Aqui, após validar os campos, usamos meuFormulario.submit() para enviar o formulário se todas as validações forem bem-sucedidas.

Utilizando setCustomValidity() para validações personalizadas

O método setCustomValidity() permite que você defina uma mensagem de erro personalizada para um campo. Isso pode ser útil para criar mensagens de validação mais específicas para os usuários.

Exemplo de código com setCustomValidity():

campoNome.addEventListener('input', function() {
  if (campoNome.value.length < 3) {
    campoNome.setCustomValidity('O nome deve ter pelo menos 3 caracteres.');
  } else {
    campoNome.setCustomValidity('');
  }
});

Aqui, o campo de nome terá uma mensagem de erro personalizada se o nome tiver menos de 3 caracteres. Caso contrário, a mensagem de erro é removida.

Conclusão

A validação de formulários no frontend é uma técnica essencial para garantir que os dados fornecidos pelos usuários sejam corretos antes de enviá-los ao servidor. Usando JavaScript, você pode validar entradas de texto, e-mails, senhas e outros campos com regras personalizadas, melhorar a experiência do usuário e evitar erros no servidor. Além disso, com o uso de setCustomValidity() e outras técnicas, você pode personalizar as mensagens de erro para tornar a validação ainda mais intuitiva e amigável.

Validar formulários no frontend com JavaScript oferece várias vantagens, como evitar o envio de dados incorretos e fornecer feedback imediato ao usuário. A combinação de validações personalizadas, expressões regulares e a capacidade de manipular campos diretamente torna a validação de formulários uma parte vital de qualquer aplicação web moderna. Ao aprender a validar dados de forma eficiente, você pode melhorar a confiabilidade da sua aplicação e a experiência do usuário.

Algumas aplicações:

  • Validar campos de formulário como nome, e-mail, senha e outros antes do envio.
  • Prevenir o envio de dados incorretos ou incompletos para o servidor.
  • Fornecer feedback em tempo real para os usuários enquanto eles preenchem os formulários.
  • Usar validação personalizada para requisitos específicos de negócios, como verificação de senha forte.

Dicas para quem está começando

  • Comece validando campos simples, como nome e e-mail, para entender como as validações funcionam no JavaScript.
  • Use expressões regulares para validar e-mails e outros padrões de entrada com facilidade.
  • Aprenda a usar setCustomValidity() para criar mensagens de erro mais claras e personalizadas.
  • Evite validações excessivas e complexas, começando com validações básicas antes de adicionar regras mais avançadas.

Contribuições de Ricardo Vasconcellos

Compartilhe este tutorial: Como validar formulários no frontend com JavaScript?

Compartilhe este tutorial

Continue aprendendo:

Como manipular formulários em JavaScript?

Entenda como manipular formulários em JavaScript, desde a validação de entradas até o envio de dados assíncronos, tornando seus formulários mais interativos.

Tutorial anterior

Como usar localStorage e sessionStorage?

Descubra como usar `localStorage` e `sessionStorage` para armazenar dados no navegador, permitindo que sua aplicação retenha informações mesmo após o recarregamento da página.

Próximo tutorial