Я использую Angular 9. Я новичок в angular и пытаюсь проверить имя пользователя / адрес электронной почты на ошибку в форме mogin. Но он проверяет только идентификатор электронной почты. Сообщение об ошибке отображается, когда я меняю значения в поле ввода. Подскажите, пожалуйста, лучший способ
export function Usernamevalidator(EmailcontrolName: string, UserControlName: string) {
return (formGroup: FormGroup) => {
const Emailcontrol = formGroup.controls[EmailcontrolName];
const UserControl = formGroup.controls[UserControlName];
const emregex=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/;
const userregex=/^[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/;
if (UserControl.errors && !UserControl.errors.Usernamevalidator) {
return;
}
if (/\@/.test(EmailcontrolName)) {
if ((emregex.test(Emailcontrol.value)) ||(!UserControl.value)) {
return Emailcontrol.setErrors({Usernamevalidator:true});
}
}
else{
if((userregex.test(UserControl.value)) || (!Emailcontrol.value)){
return UserControl.setErrors({Usernamevalidator:true});
}
return false;
}
}}