Как решить недопустимую проблему в форме на основе шаблона angular 8 - PullRequest
0 голосов
/ 28 мая 2020

В форме, управляемой шаблоном, я получаю сообщение об ошибке ниже:

ERROR TypeError: Cannot read property 'invalid' of undefined  

Я не знаю, почему я получаю это. Как решить эту проблему?

app.component. html:

<form name="form" (ngSubmit)="f.form.valid && onSubmit()" #f="ngForm" novalidate>
<div class="form-group">
                <label for="categoryName">Category Name:</label>
                <input type="text" class="form-control" name="categoryName" [(ngModel)]="cate.categoryName" minlength="5" #categoryname="ngModel" [ngClass]="{ 'is-invalid': f.submitted && categoryName.invalid }" required/>
                <div *ngIf="f.submitted && categoryName.invalid" class="invalid-feedback">
                    <div *ngIf="categoryName.errors.required">
                        Category Name is required
                    </div>
                </div>
                <div *ngIf="categoryName?.touched && categoryName?.errors.minlength" class="invalid-feedback">
                    Category Name must be at least 5 characters long.
                </div>
            </div>
</form>

app.component.ts:

  cate: any = {}; 
  onSubmit() {
      alert(this.cate.categoryName);
  }

1 Ответ

1 голос
/ 28 мая 2020

В вашем шаблоне:

categoryName.invalid

Но я не вижу места, где для categoryName установлено что-то.

Вы могли бы «исправить» это вот так

 categoryName?.invalid

Обратите внимание, что #categoryname и categoryName не совпадают (нижний регистр против верхнего регистра «n»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...