Angular 将所有表单控件重置为有效/原始,但保留现有表单值

Angular 将所有表单控件重置为有效/原始,但保留现有表单值,angular,Angular,我在Angular 5中使用模板驱动的表单。我有一个字段a和一个字段B。根据回答字段A的方式,它可能使字段B无效 因此,我在字段a中提交了一个值,该值使字段B无效,并在字段B旁边显示一个验证。现在,我更改字段A值以使字段B有效。然后我提交了我的表单,但是字段B上仍然有ng无效的,因为我没有碰它…我只修改了字段A 当我去提交表单时,是否有办法从每个控件中删除所有验证(ng invalid)?或者我可以用什么方法处理这个问题?在字段a的更改事件中,您可以这样做: (change)="yourForm

我在Angular 5中使用模板驱动的表单。我有一个
字段a
和一个
字段B
。根据回答
字段A
的方式,它可能使
字段B
无效

因此,我在
字段a
中提交了一个值,该值使
字段B
无效,并在
字段B
旁边显示一个验证。现在,我更改
字段A
值以使
字段B
有效。然后我提交了我的表单,但是
字段B
上仍然有
ng无效的
,因为我没有碰它…我只修改了
字段A


当我去提交表单时,是否有办法从每个控件中删除所有验证(
ng invalid
)?或者我可以用什么方法处理这个问题?

字段a的更改事件中,您可以这样做:

(change)="yourForm.controls.fieldB.updateValueAndValidity()"
如果有效,我没有尝试过,但您可以尝试:

(change)="fieldB.updateValueAndValidity()"