вчера у меня возникла та же проблема, моя проблема заключалась в том, чтобы удалить шаблон из formControl и просто вставить в HTML
<input matInput placeholder="Phone number" formControlName="PhoneNumber"
[errorStateMatcher]="matcher" [(ngModel)]="PhoneNumber"
required pattern="^[6-9]\d{9}$" maxlength="10">
ngOnInit() {
//Form Group
this.emailForm = new FormGroup({
PhoneNumber:new FormControl('',[]),
});
}
И вот мой пример, как я его использую:
<mat-form-field class="rung">
<input matInput [formControl]="selectRung" [(ngModel)]="rung"
placeholder="Rung" type="number" pattern="^\d*[0-9]\d*$"
name="rung" [value]="rung" min="0" id="rung"
required="true">
<mat-error *ngIf="selectRung.hasError('required')">Rung is required!</mat-error>
<mat-error *ngIf="selectRung.hasError('pattern')">Only positive or 0!</mat-error>
</mat-form-field>
и в.ts
selectRung = new FormControl(null, [Validators.required]);
у меня работает нормально,
также вы можете проверить собственный шаблон на этом сайте, если он работает правильно https://regex101.com/