首页 > 解决方案 > 在Angular中动态使用setValidators后如何不丢失初始化的验证器?

问题描述

我有一个父组件,我在其中创建一个 FormControl 数组并使用 Validations.required Validator 对其进行初始化。

在子组件中,我添加了一个基于父输入的动态验证器(真/假),但添加该验证器将从控件中删除“必需”。

如何在表单控件中保留已初始化和稍后添加的验证器?

标签: angulardynamicangular-reactive-formscustomvalidatorform-control

解决方案


SetValidators 将用您设置的任何内容覆盖验证器。您需要做的是附加额外的验证器,以保持当前验证器的完整性。请参阅下面的代码来执行此操作。

    this.<<formControl>>.setValidators([
        this.newValidator(),
        this.<<formControl>>.validator
    ]);

推荐阅读