Javascript

Validação de Formulários com JavaScript

Os formulários são uma parte essencial das páginas web, permitindo a interação entre os usuários e as aplicações. No entanto, criar formulários robustos e seguros requer não apenas a estrutura HTML adequada, mas também a validação eficiente dos dados inseridos. Neste artigo, vamos aprender a como fazer uma boa validação de formulários HTML com o JavaScript.

Representação de validação de formulário com JavaScript
Representação de validação de formulário com JavaScript.

Acesse também: Como Fazer e Tratar Requisições com o Fetch API em JavaScript

Estrutura Básica de um Formulário HTML:

Antes de nos aprofundarmos na validação, é crucial entender a estrutura básica de um formulário HTML. Aqui está um exemplo simples:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Formulário Básico</title>
</head>
<body>

<form id="meuFormulario">
  <label for="nome">Nome:</label>
  <input type="text" id="nome" name="nome" required>

  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required>

  <button type="submit">Enviar</button>
</form>

</body>
</html>

Neste exemplo, temos um formulário simples com campos de texto para nome e email, além de um botão de envio. O atributo required nos campos garante que eles não podem ser enviados em branco, porém, essa validação que o HTML fornece de forma nativa ainda é muito fraca.

Validação de Formulários com JavaScript:

A validação do lado do cliente é uma prática importante para garantir dados válidos antes de enviar um formulário. Vamos implementar uma validação simples usando JavaScript:

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const formulario = document.getElementById('meuFormulario');

    formulario.addEventListener('submit', function(event) {
      // Impedir o envio do formulário por padrão
      event.preventDefault();

      // Validar o nome (mínimo de 3 caracteres)
      const nomeInput = document.getElementById('nome');
      const nomeValor = nomeInput.value.trim();
      if (nomeValor.length < 3) {
        alert('O nome deve ter pelo menos 3 caracteres.');
        return;
      }

      // Validar o email
      const emailInput = document.getElementById('email');
      const emailValor = emailInput.value.trim();
      if (!isValidEmail(emailValor)) {
        alert('Por favor, insira um email válido.');
        return;
      }

      // Se a validação passar, você pode prosseguir com o envio do formulário
      alert('Formulário enviado com sucesso!');
      formulario.reset(); // Limpar o formulário após o envio
    });

    function isValidEmail(email) {
      // Implemente uma validação de email adequada ao seu caso
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      return emailRegex.test(email);
    }
  });
</script>

Neste código, utilizamos o evento submit do formulário para interceptar o envio padrão. Em seguida, validamos o nome e o email, exibindo alertas em caso de falha na validação. A função isValidEmail utiliza uma expressão regular simples para verificar se o formato do email é válido.

Melhorando a Experiência do Usuário com Mensagens Dinâmicas:

Além dos alertas, podemos aprimorar a experiência do usuário exibindo mensagens dinâmicas diretamente no formulário. Vamos modificar nosso código para incluir essas mensagens:

<script>
  document.addEventListener('DOMContentLoaded', function() {
    const formulario = document.getElementById('meuFormulario');

    formulario.addEventListener('submit', function(event) {
      event.preventDefault();

      const nomeInput = document.getElementById('nome');
      const nomeValor = nomeInput.value.trim();
      const nomeMensagem = document.getElementById('mensagemNome');

      if (nomeValor.length < 3) {
        nomeMensagem.textContent = 'O nome deve ter pelo menos 3 caracteres.';
        return;
      } else {
        nomeMensagem.textContent = '';
      }

      const emailInput = document.getElementById('email');
      const emailValor = emailInput.value.trim();
      const emailMensagem = document.getElementById('mensagemEmail');

      if (!isValidEmail(emailValor)) {
        emailMensagem.textContent = 'Por favor, insira um email válido.';
        return;
      } else {
        emailMensagem.textContent = '';
      }

      alert('Formulário enviado com sucesso!');
      formulario.reset();
    });

    function isValidEmail(email) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      return emailRegex.test(email);
    }
  });
</script>

<form id="meuFormulario">
  <label for="nome">Nome:</label>
  <input type="text" id="nome" name="nome" required>
  <span id="mensagemNome" class="mensagem-erro

"></span>

  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required>
  <span id="mensagemEmail" class="mensagem-erro"></span>

  <button type="submit">Enviar</button>
</form>

Agora, adicionamos elementos <span> para exibir mensagens de erro dinâmicas. Se um campo não atender aos critérios de validação, a mensagem correspondente será exibida. Se o campo estiver correto, a mensagem será removida.

Sempre Valide Formulários com JavaScript

A validação de formulários é uma parte vital da construção de interfaces de usuário interativas e amigáveis. Com HTML e JavaScript, é possível criar formulários robustos que oferecem uma experiência do usuário aprimorada, garantindo que os dados inseridos atendam aos critérios definidos. Ao explorar e aplicar esses conceitos, você estará equipado para criar formulários eficientes e com validação dinâmica, melhorando a usabilidade de suas aplicações web.

Deixe uma reação

Engraçado
0
Feliz
0
Amei
0
Interessante
1

You may also like

Leave a reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

More in:Javascript