Angular 表单提交时角度表单错误组件触发器验证

Angular 表单提交时角度表单错误组件触发器验证,angular,angular-reactive-forms,angular8,Angular,Angular Reactive Forms,Angular8,我使用的是Angular 8 我有以下反应形式的小组 this.form=this.fb.group({ 查询:[''[ 需要验证器 ]] }); 在HTML中 提交 表单错误是一个自定义模板,用于显示错误消息,该错误消息具有以下方法来触发控件上的验证检查 shouldRors():布尔值{ 返回此控件&& this.control.errors&& (this.control.dirty | | this.control.toucted); } 因此,当触摸或更改控件时,将触发验证 如

我使用的是
Angular 8

我有以下反应形式的小组

this.form=this.fb.group({
查询:[''[
需要验证器
]]
});
在HTML中


提交
表单错误
是一个自定义模板,用于显示错误消息,该错误消息具有以下方法来触发控件上的验证检查

shouldRors():布尔值{
返回此控件&&
this.control.errors&&
(this.control.dirty | | this.control.toucted);
}
因此,当触摸或更改控件时,将触发验证

如何在提交表单时触发验证检查?如何通过传递的控件访问
表单错误
组件中的
表单

您可以在提交按钮上单击,如创建一个方法并调用它

 public markFormGroupTouched(formGroup: FormGroup) {
    Object.values(formGroup.controls).forEach(control => {
      control.markAsTouched();

      if (control.controls) {
          control.controls.forEach(c => this.markFormGroupTouched(c));
      }
    });
  }
  this.markFormGroupTouched(this.form);

是否为
控件。控件是否为嵌套表单组?因为它给出了错误
AbstractControl没有属性控件
。我通过让所有
formGroup
formGroup.markAllAsTouched()
及其工作方式所触动来解决这个问题。