Desafio final
Para fechar o módulo, sua vez de escrever a lógica de validação do formulário de contato sozinho, com a correção automática conferindo cada regra.
Estudar esta lição interativa →Sua página nasceu no HTML, ganhou estilo no CSS e, com este módulo, ganhou vida com o JavaScript: um botão de tema que responde ao clique, um formulário que recusa envios vazios com uma mensagem amigável, e uma lista de projetos que nasce de dados, não de HTML escrito à mão. Para fechar, um último desafio, e este é todo seu, sem preview, só a lógica.
Complete a função validarFormulario(dados), que recebe um objeto no formato { nome, email, mensagem } (os mesmos três campos do formulário de contato) e deve devolver um objeto { ok, erros }: erros é um array com uma mensagem de texto para cada campo que estiver vazio (depois de .trim()), e ok é true somente quando erros estiver vazio. Pense na mesma checagem da segunda aula deste módulo, só que aqui, em vez de mexer direto na tela, a função devolve o resultado da validação.
validarFormulario(dados) para devolver { ok, erros }: um erro (texto) para cada campo vazio em nome, email e mensagem, e ok true somente quando não houver nenhum erro.function validarFormulario(dados) {
// dados = { nome, email, mensagem }
const erros = [];
// sua vez: para cada um dos três campos, se estiver vazio (depois de trim),
// adicione uma mensagem em erros com erros.push("...")
return { ok: erros.length === 0, erros: erros };
}
🧩 Este é um exercício com correção automática — abra no app para completá-lo e verificar.