3
respostas

Em quais casos delegar a validação de campos para uma função externa?

Eu entendi que a professora mostrou o exemplo com o "cpf" apenas para mostrar o que são essas "funções helpers", mas na realidade não usariamos isso para o cpf e sim utilizariamos uma API que faz essa checagem. Conseguem me dizer exemplos reais que seria bom usar "funções helpers"?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
3 respostas

Olá, Luidi! Tudo bem?

Você está correto ao mencionar que, em um cenário real, para validações mais complexas e que exigem dados atualizados, como a verificação do CPF na Receita Federal, o ideal é utilizar APIs especializadas. No entanto, as funções helpers são extremamente úteis em várias situações, especialmente quando queremos realizar validações ou transformações de dados que não exigem consulta externa.

Aqui estão alguns exemplos práticos onde funções helpers podem ser muito úteis:

  1. Validação de Formatos: Verificar se um e-mail está no formato correto ou se um número de telefone segue o padrão esperado.

  2. Transformação de Dados: Converter strings em formatos específicos, como transformar uma data de "DD/MM/AAAA" para "AAAA-MM-DD" para armazenamento em um banco de dados.

  3. Cálculos Simples: Calcular a idade com base na data de nascimento ou calcular descontos em um preço.

  4. Sanitização de Entrada: Remover espaços em branco ou caracteres especiais de uma string antes de armazená-la.

  5. Verificação de Regras de Negócio: Checar se uma senha atende aos critérios de segurança, como comprimento mínimo e presença de caracteres especiais.

Essas funções ajudam a manter o código mais organizado e reutilizável, além de facilitar a manutenção. Espero que esses exemplos te ajudem a entender melhor como e quando utilizar funções helpers no seu projeto.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Mas não teria bibliotecas prontas que já resolvem esses problemas?

Você está certo em dizer que, para casos como** validação de CPF**, o ideal é usar uma API especializada ou uma biblioteca confiável — afinal, são dados sensíveis e com regras específicas que já foram bem tratadas por soluções prontas.
Mas há muitos casos reais em que vale a pena delegar a validação para uma função externa (helper), especialmente quando:

A lógica é reutilizável em vários pontos da aplicação (ex: validação de e-mail, telefone, CEP).
A validação é complexa o suficiente para deixar o modelo poluído ou difícil de manter.
Você quer manter o modelo limpo e focado apenas na estrutura dos dados, deixando regras de negócio e validações mais específicas fora dele.
Você precisa testar a validação separadamente, o que é mais fácil com funções externas.

Por exemplo, eu costumo usar helpers para:

  • Verificar se uma data está no futuro ou passado.
  • formatos personalizados (como códigos internos da empresa).
  • Sanitizar strings antes de salvar no banco.
  • Validar regras de negócio específicas, como "o valor do desconto não pode ser maior que o valor total".

E sim, existem bibliotecas prontas para muitas dessas validações, e eu uso sempre que possível. Mas mesmo assim, às vezes é necessário criar um helper para adaptar a biblioteca ao contexto da aplicação ou para combinar múltiplas regras.

Aqui vai um exemplo simples de função helper em Node.js para validar se uma data está no futuro — algo que pode ser útil em sistemas de agendamento, eventos ou vencimentos:

function isFutureDate(dateString) {
    const inputDate = new Date(dateString);
    const today = new Date();

    today.setHours(0, 0, 0, 0);
    inputDate.setHours(0, 0, 0, 0);

    return inputDate > today;
}

module.exports = { isFutureDate };