Я рассматриваю добавление базовой проверки подлинности электронной почты, чтобы проверить, что пользователь поставил правильный адрес электронной почты. В настоящее время, используя приведенный ниже метод, проверки проверяются как пользовательские типы, которые выглядят странно, когда они появляются после ввода одного символа.
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' }"
Мне известно о параметре blur в поле ввода внутри html, но это не поместит мой элемент управления в заблуждение, если нет способа поместить элемент управления в состояние ошибки.
Может ли кто-нибудь помочь мне в правильном направлении?
Спасибо.
Изменить: Я ищу решение angular2, а не решение с угловым расположением.