问题1:是否可以只使用一个控件呢?例如:
ValidNumber = new Control('', CustomValidators.number({min:1, max:10}))
如何验证模板中所有类似类型的 input
字段?
Q2. 这些字段可以通过 ngFor
生成吗?
失败方法1: 验证有效但值是耦合在一起的。
<input [ngFormControl]="ValidNumber" name="num1" type="number"/>
<input [ngFormControl]="ValidNumber" name="num2" type="number"/>
失败方法2:使用formBuilder与上述方法相同。
<form [ngFormModel]="formBuiltWithFormBuilder">
<input ngControl="ValidNumber" name="num1" type="number"/>
<input ngControl="ValidNumber" name="num2" type="number"/>
</from>
目标澄清:
我正在尝试验证可能由 ngFor 生成并需要类似验证的表单字段。
而不必在其他地方重复定义相似的控件。
我可以使用任何其他方法提取的值,例如
#form="ngForm"
或ngModel
,我只需要从ngControl
中获取验证。
ValidNumber = new Control('', CustomValidators.number({min:1, max:10}))
移动到一个指令中,然后你就可以使用*ngFor
迭代而不需要在你的代码中再添加另一个。 - Günter Zöchbauer