Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

erros is undefined e também estava com problema na validação dos onsubmit

Oii, conclui o curso ontem. Gostei bastante. Tive alguns erros nas partes de validações, e na parte final de criar meu próprio hook de erros, também não tão sendo lidos os erros. Se tiver como ajudar... Vou deixar aqui o link para o github.

https://github.com/lianaalice/react-hooks-alura

6 respostas

Oi, Liana, tudo bem?

Dei uma olhada no seu useHooks.js, e na função criarEstadoInicial(), você declarou estadoIncial e faltou você colocar o que essa função retorna, ficando dessa forma

function criarEstadoInicial(validacoes) {
  const estadoInicial = {};
  for (let input in validacoes) {
    estadoInicial[input] = { valido: true, mensagem: "" };
  }
  return estadoInicial
}

Testa e fala se os erros estão atrelados esse problema.

Oii, obrigada Laís

Eu não tinha nem percebido, agora e erros é reconhecido e a página é renderizada.

Mas voltei a ter o erro que estava tendo no meio do curso, na página inicial de Dados do Usuário, ele não reconhce a validação nem a mensagem, quando uso o if do onSubmit o código age como se o campo de senha fosse sempre inválido, e eu não consigo seguir o fluxo dos formulários. Tem ideia do que possa ser meu erro?

tem alguma ideia do que poderia ser o erro?

solução!

Oi, Liana, tudo bem?

No seu arquivo cadastro.js você está retornando um objeto dentro de outro objeto nas funçõesvalidarCPF e validarSenha, retorne dessa forma:

function validarCpf(cpf){
    if(cpf.length !== 11) {
     return {
       valido: false, mensagem: "O CPF precisa ter 11 dígitos"}
    } else {
      return {valido: true, mensagem: ""}
    }
  }

  function validarSenha(senha){
    if(senha.length < 4 || senha.length > 72 ) {
     return {
       valido: false, mensagem: "A senha precisa ter entre 4 e 72 dígitos"}
    } else {
      return {
        valido: true, mensagem: ""}
    }
  }

Testa e me fala se deu certo!

Obrigada Lais :D funcionou certinho aqui :)) ... eu achei que tinha que pôr a chave com valor do estado pra funcionar, acho que nunca teria percebido sem sua ajuda. Vou subir atualizado no github.

Oi, Liana!

Que bom que resolveu o problema da aplicação :} Fico feliz.

Bons estudos!