Ошибка минимальной длины в шаблонной форме в angular 8 - PullRequest
0 голосов
/ 28 мая 2020

Я получаю сообщение об ошибке ниже, когда нажимаю кнопку отправки.

ERROR TypeError: Cannot read property 'minlength' of null

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

приложение. компонент. 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>

1 Ответ

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

Поскольку вы удалили источник ошибки, я предполагаю, что ошибка исходит от

Эта строка:

<div *ngIf="categoryName?.touched && categoryName?.errors.minlength" class="invalid-feedback">

Здесь categoryName?.errors имеет значение null, и вы пытались получить доступ minlength на этом нулевом значении.

Чтобы избежать этой ошибки, добавьте оператор ? перед .minlength, например:

<div *ngIf="categoryName?.touched && categoryName?.errors?.minlength" class="invalid-feedback">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...