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

Outro erro em Desabilitar / Habilitar componentes quando tiver alterando

Continuação deste tópico: https://cursos.alura.com.br/forum/topico-desabilitar-habilitar-componentes-quando-tiver-alterando-61751#678729

Após alterar segue as imagens:

Console do navegador mostrando as variáveis preenchidas

imagem do formulário preenchido

Após clicar no salvar

5 respostas

Na classe UsuarioFormComponent, altere a linha 162 desse código para:

console.log('onSubmit 1');
console.log(this.usuario);
console.log(form.value);

Repita o processo de teste e, dessa vez, só precisa mandar o print dos logs ao submeter o formulário. Já deu pra perceber que o problema está no bind que vc está fazendo.

Resultado.

Percebi que quando ele print em form.value, não existe mais o componente.

solução!

Sim, eis aí o problema! Como no form.value não existe a propriedade login, esse valor é enviado como undefined para o servidor.

Para vc resolver essa questão, perceba que da linha 163 até 176 é feito um processo totalmente desnecessário de pegar os valores da variável form e passar para o usuario uma vez que no usuario já estarão os valores que vc deseja pois vc os ligou ao formulário através do [(ngModel)]. O que aliás é constatado nesse último print que vc mandou. Então, em vez de fazer todo esse processo nas linhas citadas, apague-as e envie o usuario diretamente para o back-end.

Pegou a ideia?

Sobre as linhas linha 163 até 176, realmente estamos com este pensamento de tirar, pois vimos que não havia necessidade. Não por este erro, mas sim pelo ngModel.

Agora sim, o valor login chega no back end.

Resolvido.

Obrigado Gabriel

Por nada, Guilherme! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Além disso, sempre procure dar o máximo de informação e procure ser o mais claro possível nos textos explicativos. Como a gente está num meio de comunicação escrita (que é um dos mais difíceis) e quem vai tentar ajudar não tem acesso a todo o código, é importante que tenhamos essa atitude de deixar tudo o mais claro possível pra que a dúvida possa ser resolvida o quanto antes!

Grande abraço e sucesso, Guilherme!