Я работаю в угловых 6 приложений.Я работаю с FormBuilder.У меня есть форма, которая выглядит следующим образом:
<form [formGroup]="createInvitationForm" (ngSubmit)="createInvitation()">
<mat-form-field class="full-width-input">
<input matInput type="text" formControlName="invitationComment" placeholder="Send a comment to the group(s)." required>
<mat-error *ngIf="createInvitationForm.get('invitationComment').hasError('required')">
Invitation comment required
</mat-error>
</mat-form-field>
<button mat-raised-button type="submit" color="primary" [disabled]="selectedGroups.length === 0 || !createInvitationForm.valid">Send invitation to selected group(s)</button>
</form>
Это очень простая форма.Ввод текста и кнопка отправки:
Как видите, у меня есть ошибка в мате под вводом, которая сообщает пользователю "Пригласительный комментарийТребуется ", если они не вводят комментарий.
Когда пользователь нажимает кнопку Отправить, приглашение отправляется, и я очищаю форму следующим образом:
this.createInvitationForm.reset();
Однако, когда я делаю этоформа выглядит следующим образом:
Другими словами, теперь появляется ошибка проверки.
В каком-то смыслеmat-error делает то, что должен делать: когда форма сбрасывается, в текстовом вводе нет данных, что делает форму недействительной, поэтому она отображает сообщение.Но в другом смысле, не должно ли оно вести себя так, как если бы оно было повторно инициализировано (то есть форма не является недействительной при инициализации только потому, что в текстовом вводе нет данных).
Если мое ожидание того, как сбросить () если работа отключена, сообщите мне способ сброса формы без ее аннулирования.
Спасибо.