角输入“必需”始终为假

时间:2018-11-22 15:11:11

标签: angular forms

问题:

当从错误处理程序中启动logout()方法并且用户进入“登录”页面时,字段始终无效(基于'required'属性)。

假设从常规的注销按钮启动了logout()方法-没有问题,并且在将一些值输入到输入字段后-它们将有效。

带有方法的错误处理程序:

  handleError(error: any): void {

const authService = this.injector.get(AuthenticationService);

switch (error.status) {
  case 403:
    if(authService.isLoggedIn()){
      alert('Your session has expired!');
      authService.logout();
    }
    break;

  default:
    alert('Error Handler:\n\nError has occur. Status=' + error.status +
      '\n\nError has occur. Stack=' + error.stack);
}
}

logout()方法:

  logout(): void {
console.log('>> logout()');
// clear token remove user from local storage to log user out
localStorage.removeItem('token');
this.router.navigate(['login']);
}

以下是“登录”组件的摘录:

<mat-card class="login">
    <input required [(ngModel)]="model.email" name="username" placeholder="Username" (input)="test()">

    <input type="password" required [(ngModel)]="model.password" name="password" placeholder="Password" (input)="test()">

    <button type="submit" class="btn btn-success" [disabled]="!loginForm.form.valid">Login
    </button>

  </mat-card>

0 个答案:

没有答案