如何向 FormGroup 添加多个验证器。
FormControl 可以接受验证器数组,但 FormGroup 不能。除了创建单个自定义验证器之外还有解决方法吗?
我使用的是rc4。
可以通过
Validators.compose()
组合多个验证器。
来自 api 参考:
compose(验证器:ValidatorFn []):ValidatorFn
将多个验证器组合成一个函数,该函数返回各个错误映射的并集。
实际上,FormGroup 确实接受了验证器数组。只是界面没有更新。将其投射到 any 即可。例如
<any>[Validators.required, Validators.minlength(2)]
我也有同样的问题。我正在使用 FormGroup 和 FormBuilder。 这就是我为电子邮件输入设置两个验证器的方法:
emailForm : FormGroup;
CreatEmailForm(){
this.emailForm = this.formBuilder.group({
emial:["[email protected]", { validators: [Validator.required , Validators.email ]}],
context:[null , Validator.required]})
}