从 BadRequest 获取错误信息

Getting the error message from BadRequest

我正在尝试让我的注册表单显示当用户发送无效数据时从 API 返回的错误。

您可以在此处查看错误响应在控制台中的显示方式:console ss

这是我在 RegisterComponent.ts 中尝试做的事情:

onSubmit() {
    this.userService.register(this.registerForm.value).subscribe(response =>{
      this.router.navigateByUrl('/shop');
    }, error => {
      console.log(error);
      this.errorMessage = error.errors;
      if(this.errorMessage) for(let err of this.errorMessage) console.log(err);
    });
  }

然后我将其添加到 html:

<ul *ngIf="errorMessage">
   <li *ngFor="let error of errorMessage">
      {{error}}
   </li>
</ul>

但它没有按预期工作。似乎 errorMessage 变量为空,我希望它显示“此电子邮件已存在一个帐户”。 如何正确获取错误消息?

你做对了,但存储错了。您可能想尝试 this.errorMessage = error.error;

没有错误。此外,您不必循环错误,因为它是一个字符串。如果你循环它,你会一个一个地写每个字母。