重置表单时如何不显示错误消息?

时间:2018-12-04 20:10:22

标签: angular typescript

我一直在对此进行一些研究,但仍然找不到一个好的解决方案。基本上,我有这个基本表格,如果我点击清除按钮,我想休息一下表格。目前,它会重置它,但是您会看到它在半秒钟中显示了该字段的错误消息,然后消失了。我的问题是:如何重置表单,以便清除每个字段中的所有值,并且从不显示任何错误消息。提前非常感谢!

这是我的代码:

LIVE DEMO

clearForm(){
  this.registrationFormGroup.reset();
}

2 个答案:

答案 0 :(得分:1)

您可以更改逻辑以检查特定错误,如下所示: userlastname.touched && userlastname.hasError['minLength']。 至于使用有效/无效-我认为您有时会模糊字段,并在单击按钮时显示错误消息。

编辑 上面的答案是错误的。我能够使其正常工作的唯一方法是执行 double reset 。您需要同时在clearFormmousedown上调用click。 如果您仅在clearForm上调用mousedown,则将表单设置为在click(鼠标)上被触摸,另一方面,如果您仅在{{1 }},当clearForm时会出现erorr消息。 Live demo来自您的叉子。

答案 1 :(得分:0)

您可以尝试这样修改您的表单吗?

<form [formGroup]="registrationFormGroup" #registrationFormDirective="ngForm" (ngSubmit)="onSubmit()" >

clearForm函数是这样的:

clearForm(registrationFormGroup: FormGroup, registrationFormDirective: FormGroupDirective){
  registrationFormDirective.resetForm();
  registrationFormGroup.reset();
}

因为表单状态在FormGroupDirective中,而不在FormGroup中。