Угловой MAT: проверка формы вызывает «jit_nodeValue_6 (...). HasError () не является функцией» - PullRequest
0 голосов
/ 08 октября 2018

Я не уверен, почему я получаю следующую ошибку: ERROR TypeError: jit_nodeValue_6(...).hasError is not a function

Похоже, Angular не нравится мой вызов title.hasError().Кто-нибудь знает почему?Спасибо!

Вот мой HTML-шаблон:

<form [formGroup]="detailsForm">
    <mat-form-field >        
        <input matInput placeholder="Title" formControlName="title" name="title" #title>
        <mat-error *ngIf="title.hasError('required')">
                Title is <strong>required</strong>
        </mat-error>         
    </mat-form-field>
    ...
</form>

1 Ответ

0 голосов
/ 08 октября 2018

Если вы хотите проверить FormControl на наличие ошибок, вы можете рассмотреть FormControlDirective, который принимает FormControl как @Input: Пример

  <input name="name" [formControl]="name">

, иначе получить доступ к FormControlкак свойство formGroup вместе с .? safe-navigation-operator он же оператор Элвиса

 detailsForm?.controls?.title?.hasError('required') 

Модифицированный код

<div class="example-container">
    <form [formGroup]="detailsForm">
        <mat-form-field >        
            <input matInput placeholder="title" formControlName="title" name="title" #title>
            <mat-error *ngIf="detailsForm?.controls?.title?.hasError('required')">
                  <p>Required</p>
            </mat-error>         
        </mat-form-field>
    </form>
    </div>

stackblitz

...