Angular 被动表单-控件无效,但表单仍然有效
考虑以下代码:Angular 被动表单-控件无效,但表单仍然有效,angular,angular-reactive-forms,Angular,Angular Reactive Forms,考虑以下代码: foo(){ ... aControl.valueChanges.subscribe(value => { if (value == AmountType.FIXED) { variableAmount.setValidators(null); variableAmount.setValue(null); fixedAmount.setValidators(Validator
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('variableMount').updateValueAndValidity(),但没有任何变化 我的控件variableAmount被禁用。在模板中将其更改为只读修复了此错误 我的控件variableAmount被禁用。在模板中将其更改为只读修复了此错误 您可能禁用了其他控件,从而禁用了它们的验证您可能禁用了其他控件,从而禁用了它们的验证实现自定义验证器显示自定义验证器可以帮助我吗?我的问题是,我的表单有效性不能反映它的真实状态…请在我已经尝试使用SetValidator之后尝试使用UpdateValueandValidation。。。setValidators()之前和之后,但没有影响我的名为variableAmount的控件被禁用。在模板中将其更改为只读修复了此错误。实现自定义验证器演示自定义验证器可以帮助我吗?我的问题是,我的表单有效性不能反映它的真实状态…请在我已经尝试使用SetValidator之后尝试使用UpdateValueandValidation。。。setValidators()之前和之后,但没有影响我的名为variableAmount的控件被禁用。在模板中将其更改为只读修复了此错误。