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

Validação assíncrona não funcionou.

A validação assíncrona de se o usuário digitado já existe simplesmente não funcionou. O meu código está igual o demonstrado e cheguei a baixar o projeto do site para ter certeza que não estava comendo mosca em nenhum lugar. O projeto baixado do site também não funcionou. O problema não é a API. Ela está rodando normalmente e se tento diretamente no browser o endereço da API "http://localhost:3000/user/exists/alvaro" recebo a resposta correta "true". A funcionalidade para fazer o login que foi implementada também está funcionando validando o usuário na API normalmente.

Alguém tem alguma ideia do que poderia estar causando o problema? Alguma configuração ou parâmetro que esqueci de setar?

Tenho a impressão de a consulta à API não está sendo executada ou está "presa" por algum motivo. Digo isso porque a validação da maiúscula/minúscula também para de funcionar como se estivesse ocorrendo alguma exceção ou estivesse travado esperando uma resposta de algum lugar. Se removo o validador de novo-usuario.component.ts e o app-mensagem de novo-usuario.component.html a validação da maiúscula volta a funcionar. Se removo somente o app-mensagem e deixo o validador o erro persiste. Ou seja, parece que o erro é na hora de executar o validador mesmo. Lembrando que estou usando o código baixado do site para testar.

Utilizo o Windows 10 64bit. Angular CLI: 10.1.7 Node: 14.16.1 Angular: 10.1.6

Package Version

@angular-devkit/architect 0.1001.7 @angular-devkit/build-angular 0.1001.7 @angular-devkit/core 10.1.7 @angular-devkit/schematics 10.1.7 @angular/cli 10.1.7 @schematics/angular 10.1.7 @schematics/update 0.1001.7 rxjs 6.6.7 typescript 4.0.7

8 respostas

Olá

Estou passando pelo mesmo problema. Apenas complementando o tópico: Ao apertar f12 da pra er no console.log os seguintes erros:

-ERROR TypeError: Cannot read property 'pipe' of undefined

e

-Error: formGroup expects a FormGroup instance. Please pass one in.

No meu caso nenhum erro é apresentado no console. Simplesmente nada acontece. Retifico: está dando os mesmos erros que o Victor mencionou sim. Havia mexido em algumas coisas para testar e por isso não estava mais dando o erro. Voltei meu código para o mesmo da aula e o erro apareceu.

estou tendo o mesmo problema voces conseguiram resolver?

solução!

Boa noite, pessoal! Estava com o mesmo problema mudei a versão do Angular para a versão 11 que é a mesma usada pelo instrutor e funcionou segue abaixo package.json

{
  "name": "gatitobook",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~11.0.0",
    "@angular/common": "~11.0.0",
    "@angular/compiler": "~11.0.0",
    "@angular/core": "~11.0.0",
    "@angular/forms": "~11.0.0",
    "@angular/platform-browser": "~11.0.0",
    "@angular/platform-browser-dynamic": "~11.0.0",
    "@angular/router": "~11.0.0",
    "bootstrap": "^4.5.3",
    "font-awesome": "^4.7.0",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1100.0",
    "@angular/cli": "~11.0.0",
    "@angular/compiler-cli": "~11.0.0",
    "@types/jasmine": "~3.6.0",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.1.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  }
}

Realmente funcionou Celso valeu.

Tentei a solução apresentada e não tive o mesmo sucesso que o colega acima. No browser o endereço da API "http://localhost:3000/user/exists/alvaro" recebo a resposta correta "true, assim como o colega. No entanto percebo erros diferentes dos apresentados dentro do console do navegador:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://locahost:3000/user/exists/alvaro. (Reason: CORS request did not succeed).

e

Object { headers: {…}, status: 0, statusText: "Unknown Error", url: "http://locahost:3000/user/exists/alvaro", ok: false, name: "HttpErrorResponse", message: "Http failure response for http://locahost:3000/user/exists/alvaro: 0 Unknown Error", error: error }
​
error: error { target: XMLHttpRequest, isTrusted: true, lengthComputable: false, … }
​
headers: Object { normalizedNames: Map(0), lazyUpdate: null, headers: Map(0) }
​
message: "Http failure response for http://locahost:3000/user/exists/alvaro: 0 Unknown Error"
​
name: "HttpErrorResponse"
​
ok: false
​
status: 0
​
statusText: "Unknown Error"
​
url: "http://locahost:3000/user/exists/alvaro"

o cmd não apresenta nenhum erro. Como devo proceder?

Boa tarde, JORGE CARVALHO SILVA. pode compartilhar seu projeto no github?

Percebi uma coisa no seu log de erro http://locahost:3000/user/exists/alvaro o correto é http://localhost:3000/user/exists/alvaro. Faltou a letra l em localhost. Pode ser isso.

Olá Celso. Foi só erro de digitação mesmo. http://localhost:3000/user/exists/alvaro apresenta o true Aqui está o link para o github: https://github.com/vdavidmarques/curso-alura-boas-praticas-arquiteturas-formularios