import { UntypedFormControl, ValidationErrors } from '@angular/forms'; export const EmailValidator = (confirmEmailInput: string): ValidationErrors | null => { let confirmEmailControl: UntypedFormControl; let emailControl: UntypedFormControl; return (control: UntypedFormControl) => { if (!control.parent) { return null; } if (!confirmEmailControl) { confirmEmailControl = control; emailControl = control.parent.get(confirmEmailInput) as UntypedFormControl; emailControl.valueChanges.subscribe(() => { confirmEmailControl.updateValueAndValidity(); }); } if (emailControl.value.toLocaleLowerCase() !== confirmEmailControl.value.toLocaleLowerCase()) { return { notMatch: true }; } return null; }; };