【发布时间】:2016-11-27 05:57:52
【问题描述】:
如何将多个验证器添加到 FormGroup。
FormControl 可以接受验证器数组,但 FormGroup 不能。除了创建单个自定义验证器之外,还有其他解决方法吗?
我正在使用 rc4。
【问题讨论】:
-
也许通过 Validators.compose?
-
是的,这就是我想要做的,但我在编译过程中遇到了一个奇怪的错误。前任。
let myGroup = this.formBuilder.group({}, {validator: Validators.compose([this.myCustomValidator(variable1, variable2)])});只是为了让您了解 myCustomValidator 的作用,它返回一个验证器函数return (group: FormGroup): {[s: string]: boolean} => {}我得到的错误是:Argument of type '((group: FormGroup) => { [s: string]: boolean; })[]' is not assignable to parameter of type 'ValidatorFn[]'. -
顺便说一句,自定义验证器本身可以正常工作,如下所示:
let myGroup = this.formBuilder.group({}, {validator: this.myCustomValidator(variable1, variable2)}); -
@DavidBulte 毕竟我能够让它与 Validators.compose 一起工作。我从“@angular/core”而不是“@angular/forms”导入验证器。如果您将其发布为答案,我会接受。
-
谢谢 maxim。很高兴它有效。
标签: angular angular2-forms angular2-formbuilder