ОШИБКА TypeError: "_co.bankId не определен" (Angular 7) - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть подпроект в моем угловом приложении.В этом подпроекте я хочу создать форму с полями ввода.Эти поля нуждаются в проверке и могут показывать ошибку, если поле недопустимо (например, обязательно).Проблема в том, что свойство formControlName не определено (посмотрите на заголовок этой темы).

Код определяется следующим образом:

// Component file:
...
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
...

export class ConfigFormComponent implements OnInit {
  orderReport: FormGroup;

  createForm() {
    return this.fb.group({
      bankId: ['', Validators.required],
      ...
    });
  }

  constructor(private fb: FormBuilder) { 
    this.orderReport = this.createForm();
  }
}

и HTML:

 // View file:
    ...
    <mat-card>
       <form [formGroup]="orderReport">
          <mat-form-field appearance="fill">
             <mat-label>Bank ID</mat-label>
             <input matInput placeholder="Bank ID" formControlName="bankId" required>
             <mat-error *ngIf="bankId.invalid">The field shows an error.</mat-error>
          </mat-form-field>
          ...
       </form>
    </mat-card>

Я также добавил FormsModule и ReactiveFormsModule в файл AppModule.У кого-нибудь есть идея?

Я использую Angular 7.3.2 с Angular Material 7.3.2.

1 Ответ

0 голосов
/ 26 февраля 2019

Чтобы получить доступ к статусу проверки элемента управления формы, вам нужно получить ссылку на этот элемент управления формы, в вашем случае, используя: orderReport.get('bankId'), затем вы можете получить доступ к invalid.

вашему HTML-кодудолжно быть:

<mat-error *ngIf="orderReport.get('bankId').invalid">The field shows an error.</mat-error>
...