反应式表单 - 控件无效但表单仍然有效

Reactive Form - A control is invalid but form is still valid

考虑这段代码:

foo(){
...
    aControl.valueChanges.subscribe(value => {
          if (value == AmountType.FIXED) {
            variableAmount.setValidators(null);
            variableAmount.setValue(null);
            fixedAmount.setValidators(Validators.required);
          }
          else{
            fixedAmount.setValidators(null);
            fixedAmount.setValue(null);
            variableAmount.setValidators(Validators.required);
            console.log(form.valid)
            console.log(form.get('variableAmount').valid)
          }
}

"true" 然后 "false" 在控制台中打印。 怎么会出现这种情况呢?表单如何有效而其控件之一却无效?

我尝试了 form.updateValueAndValidity() 和 form.get('variableAmount').updateValueAndValidity() 但没有任何变化。

我的名为 variableAmount 的控件被禁用。在模板中将其更改为只读修复了此错误。

您可能禁用了其他控件,从而禁用了它们的验证