考虑以下代码:
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(),但没有任何变化。
答案 0 :(得分:0)
我的名为variableAmount的控件已被禁用。在模板中将其更改为只读可修复此错误。
答案 1 :(得分:0)
您可能已禁用其他控件,从而禁用了它们的验证