A Moni usa um if para verificar se o campo é válido ou não, para decidir se coloca ou não uma mensagem. Eu implementei da seguinte forma:
const mensagemErro = campo.parentNode.querySelector('.mensagem-erro');
mensagemErro.textContent = mensagem;
Com isso, aparentemente está funcionando normalmente. Estamos "zerando" a mensagem de erro no início da função, sempre que ela é invocada. Se não houver erro, a mensagem não é alterada, e automaticamente vai ser atualizada para "".
Tem algum problema nessa abordagem que usei?
O curso está PERFEITO! Muito bom =)