【发布时间】:2020-12-20 21:37:49
【问题描述】:
我有一个这样的模板驱动表单:
<form #docForm="ngForm">
...
<input type="text"
required
[attr.name]="name"
[(ngModel)]="value" />
</form>
然后我有一个按钮应该检查表单是否有效,即使所有表单的字段都未被触及。单击按钮时,应验证并突出显示所有无效表单的字段。所以我的组件代码如下所示:
@ViewChild(NgForm, {static: false}) form: NgForm;
...
someButtonHandler() {
// this.form.controls collection is always empty!
for (const fieldName in this.form.controls) {
... do something with form controls
}
}
我走对了吗?为什么 this.form.controls 集合总是空的?
可能有一些更正确的方法来解决我的问题?
【问题讨论】:
-
您好,抱歉,我不确定您为什么要使用模板驱动的表单,反应式表单不是更好吗? (我对模板不太熟悉,所以我真的很好奇你的推理:))另外我认为这有点难以调试,你有没有机会在@987654321 中创建一个包含你的代码的新角度项目@ 并分享它?如果你这样做,我很想玩,看看我能不能想出办法:)
标签: angular