【发布时间】:2018-09-03 05:37:40
【问题描述】:
尝试根据某些条件添加验证器。当条件为真时,我将添加所需的验证器并在它为假时将其删除。
createReactiveForm(data: any) {
const formGroup = new FormGroup({
'control1': new FormControl(data.key1),
'control2': new FormControl(data.key2)
}, this.formValidators.bind(this)),
}
formValidators(formGroup: FormGroup){
const control1Val: boolean = formGroup.controls['control1'].value;
if (control1Val) {
const control2: AbstractControl = formGroup.controls['control2'];
constrol2.setValidators(Validators.required);
} else {
const control2: AbstractControl = formGroup.controls['control2'];
constrol2.setValidators(() => null);
}
}
formValidators() 方法被无限次调用 - 我是否在这里做错了什么?
-
当条件为真时添加验证器并显示错误。但当条件为假时,验证器被删除,但控件上的错误仍然存在 - 原因是什么?
李> 在formGroup中绑定formValidators()方法是不是好办法?
帮我解决这个问题。
【问题讨论】:
标签: angular angular-reactive-forms reactive-forms