Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 被动表单-控件无效,但表单仍然有效_Angular_Angular Reactive Forms - Fatal编程技术网

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的控件被禁用。在模板中将其更改为只读修复了此错误。