Я создаю форму с помощью Angular Material 2. Я использую форму, управляемую шаблоном, и у меня есть ввод по электронной почте, в котором есть два валидатора (обязательный и адрес электронной почты). В документе для компонента ввода (https://material.angular.io/components/component/input) там только сказано:
«Если элемент ввода может иметь более одного состояния ошибки, потребитель должен выбрать, какие сообщения должны отображаться. Это можно сделать с помощью CSS, ngIf или ngSwitch».
примера нет и нигде не найду.
Это мой html:
...
<form (ngSubmit)="onSubmit(registrationForm)" #registrationForm="ngForm">
...
<md-input-container floatPlaceholder="never">
<input mdInput type="email" placeholder="Enter your email address" name="email" [(ngModel)]="email" required email>
<md-error class="required">Email is required.</md-error>
<md-error class="email">Invalid email.</md-error>
</md-input-container>
...
В настоящее время оба сообщения отображаются постоянно. Даже если я введу неверный адрес электронной почты.
Любое из упомянутых решений (CSS, ngIf или ngSwitch) подойдет, но я бы предпочел CSS.