正如您已经知道的那样,仍有一些与 angular2 表单相关的未决问题需要验证。但是经过大量搜索后,我发现很少有人在工作,现在正在发布作为答案 -
首先,对于验证,您必须使用 ngControl ,您也可以使用 ngModel ,即 angular2 的两种方式绑定来获取表单值,毫无疑问,我们只能使用 ngControl 进行验证和表单值。但最好使用单独的。
使用 ngControl 进行验证。 Angular 提供了默认验证器来检查验证,我们也可以根据需要创建自定义验证器,并可以在验证中使用(ngControl)。如果我们要创建模型驱动表单,即我们必须使用 new Control() 为每个输入创建新控件。对于控制、控制组和验证,请参阅这篇最佳文章
这是使用表单控件的基本示例:
this.CreateGroup = fb.group({
'name': new Control(this.demoInfo.name, Validators.required),
'password': new Control(this.demoInfo.password, Validators.required),
'select': new Control(this.demoInfo.select, Validators.required)
})
这里我有三个输入,分别命名为 name、password、select。以及相应的我已经提到了它们的值和验证器(默认验证)。
<input type="text" [(ngModel)]='demoInfo.name' ngControl='name'>
这是我们如何将 ngControl 定义为 HTML 端。
form in angular2 with validation.的工作演示