Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Validação do formulário com inputs onChange

Não sei se alguem já comentou sobre, mas caso não tenham comentado... compartilho aqui 1 resolução possível de validação do formulário via javascript (mesmo com o atributo "noValidate").

Para tal, é necessário perceber que no "event" do próprio submit do formulário, são retornados os campos dentro de event.target.elements...

Sendo assim, podemos fazer uma função de validação do formulário como 1 todo dentro do useErrors:

function validaForm(event) {
    let newErrors = {};
    let validado = true;
    for (let key in erros) {
      if (typeof event.target.elements[key] === "undefined") continue;
      const actualValue = event.target.elements[key].value;
      newErrors[key] = validacoes[key](actualValue);
      validado = validado ? newErrors[key].valido : validado;
    }
    setErros(newErrors);
    return validado;
  }

O hook completo pode ser visto nesse link: https://github.com/Antonio-bevilaqua/react-alura-formulario2/blob/main/src/hooks/useErros.js

1 resposta
solução!

Parabéns Antônio! Ótima solução :D