[英]how to reset all validations on click of submit button in reactive form
我已经在所有方面完成了我的项目,但奇怪的是在最后阶段我发现很难在单击“提交按钮”时删除可见的验证器,即使注册表中的输入字段在所有方面都已完成。
我还尝试通过“重置”形式删除验证器,但它再次不起作用。 我试过的代码是:
html
(click)="Rst()";
typescript
Rst(){
this.formName.reset()
}
请指导一下我应该怎么go吧。
编辑:我尝试了这个[链接] https://medium.com/@kash6062/angular-reset-validation-on-form-reset-533f5d6d76a5中的代码
编辑 2:我也尝试过此 [链接] https://jasonwatmore.com/post/2019/06/25/angular-8-dynamic-reactive-forms-example中的代码
但代码不起作用
Reset后使用以下代码。
import { ChangeDetectorRef } from '@angular/core';
constructor(private cd: ChangeDetectorRef) {
}
this.cd.detectChanges();
您可以尝试调用一个名为“updateValueAndValidity()”的方法
this.formName.updateValueAndValidity()
或者如果你想更新特定的 FormControl
this.formName.controls['your_form_control'].updateValueAndValidity()"
在上面的代码之后,您可以尝试使用@surendra kumar 的解决方案,它会明确尝试将状态反映或“刷新”到以后的状态。
constructor(private ref: ChangeDetectorRef) { .. }
....
Rst() {
// After calling updateValueAndValidity
this.ref.detectChanges();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.