【发布时间】:2026-01-16 13:25:01
【问题描述】:
我最近尝试使用 Angular 2 创建自己的自定义表单控件。 自定义控件应该有 2 个输入,并编辑具有已知结构的现有对象。例如:
class model {
public fieldOne: number;
public fieldSec: number;
}
我遵循了在这里找到的很好的解释: Guide For Writing custom form controls
一切正常,只是指南没有提到我如何连接 自定义控件表单验证到使用它的表单。 让我们看一个简化的例子:
自定义控件模板看起来像这样:
<form>
<input [(ngModel)]="existingModel.fieldOne">
<input [(ngModel)]="existingModel.fieldSec" required>
</form>
我们使用它来编辑现有模型,其值为:
{
fieldOne: 20,
fieldSec: undefined
}
我们在我的应用程序中以某种形式使用它,我们需要自定义控件来编辑这个模型:
<form #formVar="ngForm">
<my-custom-control [(ngModel)]="existingModel" required>
</my-custom-control>
</form>
这种示例适用于我的应用程序,因为我可以编辑模型。
问题是我想在表单无效时向用户显示,如果我查看 formVar.valid 它将是正确的,即使 existingModel.fieldSec 未定义并且它在自定义控件表单中对其进行了必需的验证。
【问题讨论】:
标签: angular angular2-template angular2-forms html-validation angular2-components