在 Angular 4 应用程序中,我有一个这样的表单模型:
this.form = this._fb.group({
title: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(50)]],
description: ['', [Validators.required, Validators.minLength(3)]]
});
现在我想要的是从控件验证器数组中动态删除所需的验证器。像这样的东西:
saveDraft() {
this.form.controls['title'].removeValidator('required'); //Just a fake implementation for demonstration
}
这个问题不是上述问题的重复。我的情况不同,我只想在不知情的情况下删除所需的验证器。
原文由 Ali Shahzad 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用: AbstractControl.removeValidators(validator: ValidatorFn)
不确定在 Angular 4 中是否可能,但肯定在 Angular 12 及更高版本中。
但是,它需要对 完全相同的功能 的引用。仅仅给它 Validators.required 是行不通的。您需要为它创建一个唯一的引用: