Blog Formação DEV

Validações com o pacote validator

Neste artigo conheceremos o pacote validator, que é um pacote que realiza diversos tipos de validações em strings.
Validações com o pacote validator
Texto de: Letícia Garcez

Introdução

A validação de dados é algo muito importante quando pensamos em trabalhar com dados inseridos por usuários, tanto no frontend quanto no backend. Fazer validações pode acabar sendo trabalhoso, mas felizmente hoje existem pacotes desenvolvidos especialmente para lidar com a validação de dados, e hoje veremos um desses pacotes: o validator.

Instalando o pacote

A instalação do pacote é bem simples, e pode ser feita com o comando npm install validator.

Uma vez instalado, basta importar o pacote na aplicação utilizando a sintaxe dos módulos do node que é let validator = require('validator'); ou a sintaxe do ES6 import validator from 'validator';

Também é possível utilizar este pacote mediante um CDN caso você esteja trabalhando com uma página HTML simples com o código <script src="<https://unpkg.com/validator@latest/validator.min.js>"></script>

Usando o pacote

As funcionalidades implementadas no pacote validator são funções que retornam verdadeiro ou falso para um determinado tipo de validação. Para testarmos se uma string representa um e-mail, por exemplo, podemos utilizar a função validator.isEmail, passando para ela a string que desejamos verificar:

const validator = require("validator");

console.log(validator.isEmail("fulano@mail.com"));
console.log(validator.isEmail("@emailcom"));
console.log(validator.isEmail("f@e"));

Rodando o código acima, veremos que os valores impressos no console são true, false, false, ou seja, apenas o primeiro e-mail é reconhecido como e-mail válido. O método isEmail também pode receber como segundo parâmetro um objeto com opções que serão aplicadas à validação. Embora o uso do pacote possa facilitar bastante o desenvolvimento, ainda pode ser necessário utilizar outras técnicas de validação complementares em casos específicos para garantir uma maior segurança nos dados armazenados.

Além do método isEmail, o pacote validator também provê uma série de outras funções que podem ser utilizadas para fazer a validações. Algumas dessas funções serão indicadas abaixo.

Funções disponíveis

  • isAlpha : esta função verifica se a string contém apenas caracteres alfabéticos e recebe como primeiro parâmetro uma string e como segundo parâmetro um locale que pode ser um valor como 'en-IN', 'en-US', 'fr-FR','pt-BR', 'pt-PT', entre outros. O locale serve para indicar quais caracteres são considerados alfabéticos para aquela língua específica, o que faz com que a palavra caminhão seja reconhecida como uma string que possui apenas letras no locale pt-BR, mas não no locale en-US, por exemplo
  • isAlphaNumeric: esta função verifica se a string contém apenas caracteres alfabéticos e numéricos. Assim como a função isAlpha, recebe dois parâmetros, sendo o primeiro uma string e o segundo o locale sob o qual aquela string precisa ser analisada
  • isCreditCard: verifica se a string representa um número de cartão de crédito, sendo que o primeiro parâmetro recebido é a string e o segundo é o provedor do cartão de crédito que pode ser um dos seguintes valores: ['amex', 'dinersclub', 'discover', 'jcb', 'mastercard', 'unionpay', 'visa']
  • isDate: verifica se a string representa uma data, recebendo como primeiro parâmetro a string que se deseja analisar e como segundo parâmetro um objeto com algumas opções para a validação, como o formato da data
  • isEmpty: verifica se a string passada tem tamanho zero
  • isHash: verifica se a string é um código hash. O primeiro parâmetro é a string e o segundo é o tipo de codificação do hash que queremos avaliar. As opções de codificação são:['crc32', 'crc32b', 'md4', 'md5', 'ripemd128', 'ripemd160', 'sha1', 'sha256', 'sha384', 'sha512', 'tiger128', 'tiger160', 'tiger192']
  • isHexadecimal: verifica se a string é um número hexadecimal
  • inIn: verifica se a string passada como primeiro parâmetro está entre os elementos especificados em um array passado como segundo parâmetro
  • isJWT: verifica se a string é um código jwt
  • isMobilePhone: recebe como primeiro parâmetro a string que representa um número de telefone e valida se aquela string é um número de telefone válido com base no locale que for passado como segundo parâmetro
  • isStrongPassword: recebe uma string como primeiro parâmetro e como segundo um objeto contendo opções que definem os critérios a serem avaliados para definir se a senha é ou não forte

Considerações finais

Neste artigo apresentamos algumas funcionalidades do pacote validator, que podem ser utilizadas para validar dados na sua aplicação. Além das funções apresentadas aqui, o pacote tem várias outras funcionalidades que você conferir com detalhes na documentação.

Sobre o autor
Cod3r

Cod3r

Com mais de 400 mil alunos, a Cod3r é uma das principais escolas de tecnologia do País. Um de seus produtos mais importantes é a Formação DEV, com objetivo de preparar os profissionais para o mercado.

Ótimo! Inscreveu-se com sucesso.

Bem-vindo de volta! Registou-se com sucesso.

Assinou com sucesso o Blog Formação DEV .

Sucesso! Verifique o seu e-mail para obter o link mágico para se inscrever.

As suas informações de pagamento foram atualizadas.

Seu pagamento não foi atualizado.