Я не могу найти хорошее регулярное выражение / шаблон, чтобы выдать ошибку, когда пользователь вводит иностранные символы в поле ввода. Из исследований и подобных вопросов лучшее, что я мог придумать, это использовать pattern="[a-zA-Z0-9][A-Za-z0-9._-]*"
. Однако это делает работу только частично. это не допускает пробелов и других общих символов Engli sh. Я хотел бы ограничить использование иностранных символов. Я хотел бы избежать создания собственного валидатора. Но я что-то упустил в своем регулярном выражении. Я полагаю, вот мой стек и код: https://stackblitz.com/edit/formvalidationpattern?file=src%2Fapp%2Finput-overview-example.html
. HTML
<form [formGroup]="myForm" class="example-form">
<mat-form-field class="example-full-width">
<input matInput placeholder="Favorite food" formControlName="input" pattern="[a-zA-Z0-9][A-Za-z0-9._-]*">
</mat-form-field>
<button mat-raised-button color="primary" [disabled]="myForm.controls.input.errors">Submit</button>
</form>
.TS
import {Component} from '@angular/core';
import {FormBuilder, FormGroup, Validators} from '@angular/forms'
@Component({
selector: 'input-overview-example',
styleUrls: ['input-overview-example.css'],
templateUrl: 'input-overview-example.html',
})
export class InputOverviewExample {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder){
this.myForm = this.formBuilder.group({
input: ['', Validators.required],
});
}
}