Typescript 如何解决模板驱动表单中的无效问题

Typescript 如何解决模板驱动表单中的无效问题,typescript,angular8,Typescript,Angular8,在模板驱动的形式下,我得到以下错误: 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">

在模板驱动的形式下,我得到以下错误:

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>
在模板中:

categoryName.invalid
但我看不到categoryName设置为某个值的任何地方

你可以这样修理它

 categoryName?.invalid

请注意,categoryname和categoryname的大小写与大写n不一样。

好的。。非常感谢您,但有一段时间我收到了错误类型错误:无法读取nullThis part categoryname?的属性“minlength”。如果设置了categoryname,但其错误属性的值为null,则errors.minlength将抛出此错误。您可以通过编写'categoryName?.errors?.minlength'以同样的方式解决此问题
 categoryName?.invalid