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">