кнопки чтобы валидация не сработала.
```
<mat-form-field appearance="outline" class="w-100">
<mat-label>Code</mat-label>
<input matInput formControlName="code" #code>
<button type="button" mat-icon-button matSuffix (click)="generateCode($event);">
<mat-icon>add_circle_outline</mat-icon>
</button>
<mat-hint align="end" [ngClass]="code.value.length > 10 ? 'text-danger' : ''">
{{code.value.length || 0}}/10
</mat-hint>
<mat-error *ngIf="formGroup.get('code')?.hasError('required')">
<small>Code is required.</small>
</mat-error>
</mat-form-field>
```
```
generateCode(event: MouseEvent): void {
event.stopPropagation();
this.inviteService.generateInviteCode().subscribe((data:any) => {
this.formGroup.get('code')?.setValue(data.code);
})
}
```
const codeControl = this.formGroup.get('code'); if (codeControl) { codeControl.clearValidators(); codeControl.updateValueAndValidity(); } я думаю stopPropagation и не должен удалять валидатор. Можно как вариант удалить валидатор. Но тогда нужно будет позаботиться чтобы его потом опять добавить Или попробовать this.formGroup.get('code')?.markAsUntouched();
Обсуждают сегодня