Angular6 无法创建嵌套的被动窗体

Angular6 无法创建嵌套的被动窗体,angular6,Angular6,代码/演示位于 我正在尝试创建一个嵌套的被动表单。这是一个简单的报名表。它有Firstname,Lastname,email,Password和VerifyPassword字段。我还为字段创建了验证器。html还根据字段是否有错误来分配Bootstrap的类 <input id="firstname" type="text" class="form-control" formControlName="firstName" [ngClass]="validateField(signupFor

代码/演示位于

我正在尝试创建一个嵌套的被动表单。这是一个简单的报名表。它有
Firstname
Lastname
email
Password
VerifyPassword
字段。我还为字段创建了验证器。
html
还根据字段是否有错误来分配
Bootstrap

<input id="firstname" type="text" class="form-control" formControlName="firstName" [ngClass]="validateField(signupForm,'firstName')" >
      <app-show-errors [control]="signupForm.controls.firstName"></app-show-errors>
现在我的主要问题是我无法使嵌套表单(
passwordGroup
)工作。我在控制台中看到以下错误

错误:formGroup需要一个formGroup实例。请递一张。

示例:

在您的班级:

this.myGroup=newformgroup({
firstName:newformcontrol()
})

更改您的

<div class="form-group" [formGroup]="passwordGroup">

进入


嵌套表单组使用formGroupName


您可以找到更多文档

谢谢。我查一下。你的解决方案解决了这个问题,但我现在被困在别的地方了。我会尽力把事情办好的。如果你还在你的问题上,给我更多的信息谢谢。新错误是
无法读取未定义的属性“passwordGroup”
。您可以查看Stackblitz链接。我将
更改为
。发现问题<代码>“validateField(signupForm,controls.passwordGroup,'password')”>
应该是“validateField(signupForm.controls.passwordGroup,'password')”>
signupForm.controls中的类型。我在做
注册表,控件
。让我看看代码现在是否有效。总之,顶级表单是
FormGroup
,表单中的控件是
FormControl
,而控件可以是
FormGroup
,这样的控件应该有
FormGroupName
指令,而不是
FormControl
,以告知这是一个组(Angular不应将其视为控件),控件实际上位于该组内。
<div class="form-group" [formGroup]="passwordGroup">
<div class="form-group" formGroupName="passwordGroup">