首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误TypeError:"_co.bankId is undefined“(角度7)

错误TypeError:"_co.bankId is undefined“(角度7)
EN

Stack Overflow用户
提问于 2019-02-26 23:50:20
回答 1查看 2.4K关注 0票数 1

我在我的angular应用中有一个子项目。在这个子项目中,我想创建一个带有输入域的表单。这些字段需要验证,如果字段无效(例如,必填),则需要选择性地显示错误。好吧,问题是,"formControlName“属性是未定义的(看看这个线程的标题)。

代码定义如下:

代码语言:javascript
复制
// 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:

代码语言:javascript
复制
 // 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>

我还将FormsModuleReactiveFormsModule添加到AppModule文件中。有谁有主意吗?

我使用的是Angular 7.3.2和Angular材质7.3.2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-26 23:55:23

要访问表单控件的验证状态,您需要获取对该表单控件的引用,在本例中使用:orderReport.get('bankId'),然后可以访问invalid

您的HTML代码应为:

代码语言:javascript
复制
<mat-error *ngIf="orderReport.get('bankId').invalid">The field shows an error.</mat-error>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54889346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档