示例代码
<input type="text" formControlName="firstName" class="form-control col-md-11" [ngClass]="{ 'is-invalid': submittedCreateUserForm && fCreateuser.firstName.errors }" placeholder="First Name" />
<div *ngIf="submittedCreateUserForm && fCreateArticle.firstName.errors" class="invalid-feedback">
<div *ngIf="fCreateuser.firstName.errors.required" style="color:red">First Name is required</div>
</div>
在调用reset()
函数时,将显示错误消息“ 必须输入名字 ”,输入框颜色为红色。
答案 0 :(得分:0)
这是一个目前存在于角度的错误。当我们在formGroup上使用reset()时,它不应正确地重置状态(原始和未压缩)。为了克服这个问题,我们需要对formGroup中的每个控件进行重置,并将setError设置为null。 例如:
this.questionForm = this._fb.group({
title: [null, Validators.required],
information: [''],
});
要正确重置questioForm,以便我不会在视图部分显示任何验证错误,
Object.keys(this.questionForm.controls).forEach(controlName => {
this.questionForm.controls[controlName].reset();
this.questionForm.controls[controlName].setErrors(null);
});
您可以检查他们的git repo here