поэтому я пытаюсь отображать разные сообщения проверки в зависимости от валидатора в моем элементе управления формой.
Вот что я настроил на данный момент:
this.Form = fb.group ({
'FooNumber': [null, Validators.compose([Validators.required, Validators.pattern('^[a-zA-Z0-9\\-_]*$')])]
});
В моем html:
<input formControlName="FooNumber" (blur)="NoSpecialCharacters && !this.Form.get('FooNumber').valid" [ngClass]="!this.Form.get('FooNumber').valid ? 'inputRed': 'input'"/>
<div class="error-msg" *ngIf="!this.Form.get('FooNumber').valid" name="errorMsg"> This is a required field </div>
<div class="error-msg" *ngIf="NoSpecialCharacters && !this.Form.get('FooNumber').valid" name="errorMsg">Enter a valid number </div>
Мой вопрос: я хочу показать сообщение с ngIf «NoSpecialCharacters» для Regex в Validators.pattern () выше, но если поле было пустым и пользователь нажал кнопку «Отправить», должно появиться другое сообщение «Обязательное поле» сообщение.
Мне было интересно, как лучше всего отображать разные сообщения об ошибках в зависимости от того, какой валидатор срабатывает.
Нужно ли мне создавать собственный валидатор для обработки этого сценария?
FormControl.valid
проверьтеFormControl.errors
. Различные валидаторы будут добавлять к этому объекту разные ошибки, и вы можете основывать свое условие на этом, чтобы отображать разные сообщения об ошибках. - person Harry Ninh   schedule 05.04.2018