【发布时间】:2018-07-28 08:27:32
【问题描述】:
我有一个用户需要输入经度的输入。当用户输入 NaN 或 Not-Precise-Enough 值时,我希望能够显示不同的错误消息。我正在使用FormControl.hasError('ValidatorsName') 来获取验证错误,但似乎我无法区分这些模式。
模板:
<mat-form-field class="form-field">
<input matInput placeholder="Logitude" [formControl]="longitude">
<mat-error *ngIf="longitude.hasError('pattern')">
Longitude must be <strong>a number</strong>
</mat-error>
<!-- I want to be able to check patter2 for example -->
<mat-error *ngIf="longitude.hasError('pattern')">
Longitude must have <strong>a minimum of 5 decimal numbers</strong>
</mat-error>
</mat-form-field>
还有我的 Angular 代码:
this.longitude = new FormControl(this.attraction.longitude, [
// is valid number
Validators.pattern(new RegExp('(\d{1,3})([.|,]{,1})(\d+))','gi')),
// is precise enough
Validators.pattern(new RegExp('(\-{0,1})(\d{1,3})([.|,]{1})(\d{5,13})','i'))
]);
有没有办法给这些模式一个标识符?如有任何帮助,我将不胜感激。
【问题讨论】:
标签: angular validation angular-validation