JavaScriptMódulos e Errosintermediario

Módulo de validação

Em projetos reais, a lógica de validação é centralizada em módulos para manter o código organizado e reutilizável. Em vez de espalhar verificações pelos componentes, você agrupa funções em arquivos separados que podem ser importados onde necessário. Isso facilita testes e manutenção, garantindo mensagens de erro consistentes em toda a aplicação.

O PROBLEMA

Crie módulo validacoes.js com funções de validação retornando {valido, mensagem}.

EXEMPLO

export function validarEmail(email) {
  const valido = /^[^@]+@[^@]+\.[^@]+$/.test(email);
  return {valido, mensagem: valido ? "" : "Email inválido"};
}

SOBRE O CONCEITO

O exercício pede funções puras de validação que retornam um objeto com valido (booleano) e mensagem (string). Funções puras não alteram estado externo e sempre produzem o mesmo resultado para as mesmas entradas, sendo previsíveis e testáveis. Um erro comum é usar uma regex incorreta – por exemplo, esquecer de escapar pontos ou não considerar caracteres válidos. Outro erro é não retornar a mensagem quando o valor é inválido; você deve sempre fornecer uma mensagem, mesmo que vazia para casos válidos. Como throw é proibido, a abordagem é retornar o objeto com o resultado, padrão comum em bibliotecas de validação para verificações não críticas. Lembre-se de usar export nomeado (sem default) e aplicar regex.test() que já retorna booleano.

RESOLUÇÃO

Mais exercícios de Módulos e Erros

JSM003 · BásicoTipos de erroJSM005 · BásicoError propertiesJSM006 · BásicoExport nomeadoJSM008 · BásicoImport * as
Ver todos os exercícios de JavaScript