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

FormGroup.get('NOME_CAMPO')?.errors?.required exibe mensagem de erro

Na aula 04.02 (Validação de Formulário Assíncrono / Validação padrão), é implementado no Template de criação de um Novo Usuário, é utilizado o Seletor de Mensagem criado em uma aula anterior.

Nesse Seletor, além da Mensagem a ser exibida, é utilizada a diretiva *ngIf para exibir a mensagem de modo condicional. A implementação da aula está mais ou menos assim:

*ngIf = "newUserForm.get('email')?.errors?.required"

Porém, implementando desta forma, o VSCode exibe uma mensagem de erro, e a compilação falha:

Error: src/app/home/user-registration/user-registration.component.html:12:45 - error TS4111: Property 'required' comes from an index signature, so it must be accessed with ['required'].

12    *ngIf="newUserForm.get('email')?.errors?.required"></app-messages>
1 resposta
solução!

Observando a própria mensagem de erro, nota-se que a forma de acessar os atributos do errors mudou.

Agora é necessário acessa-los não mais como atributos diretamente, mas sim como atributos dentro de um objeto, utilizando o nome como índice.

Antes estava assim:

*ngIf = "newUserForm.get('email')?.errors?.required"

Agora passa a ser assim

*ngIf = "newUserForm.get('email')?.errors?.['required']"