Я собираюсь добавить базовую проверку электронной почты, чтобы убедиться, что пользователь ввел правильный адрес электронной почты. В настоящее время используется метод, описанный ниже, проверка обновляется по мере ввода пользователем, что выглядит странно, когда возникают ошибки после ввода одного символа.
validEmail(c: Control){
if(!c.value.match('[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?')){
return {
validEmail: true
};
}
return null;
}
ctrlEmailAddress: Control = new Control('', Validators.compose([
Validators.required, this.validEmail]));
Мне было интересно, можно ли запустить проверку размытия поля, как в angularJS, с помощью:
ng-model-options="{ updateOn: 'blur' }"
Мне известно о параметре размытия в поле ввода в html, но это не приводит к ошибке моего элемента управления, если только нет способа перевести элемент управления в состояние ошибки.
Может ли кто-нибудь помочь указать мне правильное направление?
Спасибо.
Изменить: я ищу решение angular2, а не решение angularJS.