使用变量初始化的Angular FormControl验证程序Min不会随变量更改而更新

使用变量初始化的Angular FormControl验证程序Min不会随变量更改而更新,angular,angular-material,angular-forms,material-components,Angular,Angular Material,Angular Forms,Material Components,我正在使用Angular 8和Material组件,并希望在使用min validator的表单中限制值b大于或等于值a。我将两个材质输入与共享表单控件一起使用,并将它们绑定到共享对象的参数。在我的控制器中,我将b表单控件的验证器定义为min(shared.a),假设更改为shared.a,验证器也应该更新。例如,通过输入将a设置为4后,b应无效,除非>=4。但是,验证器不会随着对a所做的更改而更新,但似乎是静态的,初始值为a。我错过了什么 example.component.html: 和

我正在使用Angular 8和Material组件,并希望在使用min validator的表单中限制值b大于或等于值a。我将两个材质输入与共享表单控件一起使用,并将它们绑定到共享对象的参数。在我的控制器中,我将b表单控件的验证器定义为
min(shared.a)
,假设更改为shared.a,验证器也应该更新。例如,通过输入将a设置为4后,b应无效,除非>=4。但是,验证器不会随着对a所做的更改而更新,但似乎是静态的,初始值为a。我错过了什么

example.component.html


示例.component.ts

导出类示例实现OnInit{
共享={a':0,'b':1}
示例形式:FormGroup;
构造函数(私有formBuilder:formBuilder){}
恩戈尼尼特(){
this.exampleForm=this.formBuilder.group({
a:[this.shared.a,Validators.min(0)],
b:[this.shared.b,Validators.min(this.shared.a)]
})
}
}

是的,这不起作用(很遗憾)。验证器仅在其所属的值更改时触发。此外,您给验证器的值仅用于初始化。您可以通过使用组验证器来解决这个问题,当组的任何控件发生更改时,该验证器将触发。这太不幸了!但是谢谢你的建议,我还没有考虑过(因为我认为我不必:D)。