copay-crown
Version:
A Secure Crown Wallet
30 lines (22 loc) • 844 B
text/typescript
import { FormControl } from '@angular/forms';
import { ConfigProvider } from '../providers/config/config';
import { EmailNotificationsProvider } from '../providers/email-notifications/email-notifications';
export class EmailValidator {
static cnf: ConfigProvider;
static eml: EmailNotificationsProvider;
constructor(cnf: ConfigProvider, eml: EmailNotificationsProvider) {
EmailValidator.cnf = cnf;
EmailValidator.eml = eml;
}
isValid(control: FormControl): any {
let config = EmailValidator.cnf.get();
let latestEmail = EmailValidator.eml.getEmailIfEnabled(config);
let validEmail = (/^[a-zA-Z0-9.!#$%&*+=?^_{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/).test(control.value);
if (validEmail && control.value != latestEmail) {
return null;
}
return {
"Invalid Email": true
};
}
}