我正在尝试根据某些条件向 formGroup
控件添加和删除验证器。
当我通过 formGroup.updateValueAndValidity()
更新整个表单的验证器时,它并没有更新,但是如果我针对每个控件具体应用,即 formGroup.get('formControl').updateValueAndValidity()
,它就能够工作,但我不希望为每个控件编写这样的代码,这不是正确的方式。我做错了什么?
if (data == 'x') {
this.myForm.get('control2').setValue(null);
this.myForm.get('control2').setValidators(Validators.nullValidator);
this.myForm.get('control1').setValidators(Validators.required);
} else if (data == 'y') {
this.myForm.get('control1').setValue(null);
this.myForm.get('control1').setValidators(Validators.nullValidator);
this.myForm.get('control2').setValidators(Validators.required);
}
this.myForm.get('control1').updateValueAndValidity();
this.myForm.get('control2').updateValueAndValidity();
虽然这个可行,但是:
this.myForm.updateValueAndValidity();
这个不起作用。
this.myForm.markAllAsTouched();
? - Ε Г И І И О