在 angular2 中向 FormGroup 添加多个验证器

问题描述 投票:0回答:3

如何向 FormGroup 添加多个验证器。

FormControl 可以接受验证器数组,但 FormGroup 不能。除了创建单个自定义验证器之外还有解决方法吗?

我使用的是rc4。

angular angular2-forms angular2-formbuilder
3个回答
19
投票

可以通过

Validators.compose()
组合多个验证器。

来自 api 参考

compose(验证器:ValidatorFn []):ValidatorFn

将多个验证器组合成一个函数,该函数返回各个错误映射的并集。


7
投票

实际上,FormGroup 确实接受了验证器数组。只是界面没有更新。将其投射到 any 即可。例如

<any>[Validators.required, Validators.minlength(2)]

0
投票

我也有同样的问题。我正在使用 FormGroup 和 FormBuilder。 这就是我为电子邮件输入设置两个验证器的方法:

emailForm : FormGroup;
CreatEmailForm(){
this.emailForm = this.formBuilder.group({
emial:["[email protected]", { validators: [Validator.required , Validators.email ]}],
context:[null , Validator.required]})
}
© www.soinside.com 2019 - 2024. All rights reserved.