Мне нужно проверить, имеют ли поля пароля и подтверждения одинаковые значения, используя реактивную форму угла 4+.Я видел много ответов на одно и то же здесь: форма Angular 4 проверяет повторный пароль, сравнивает поля в валидаторе с angular 4, но ни один из них мне не подходит.
Возникла проблема, как объединить подтверждение Emailи подтвердите валидатор пароля при реактивном подходе.
Работает нормально, либо подтвердите электронную почту, либо подтвердите пароль.
this.addEmpForm = new FormGroup({
'name': new FormControl(null, Validators.required),
'email': new FormControl(null, [Validators.required, Validators.email]),
'cemail': new FormControl(null, [Validators.required, Validators.email]),
'password': new FormControl(null, Validators.required),
'cpassword': new FormControl(null, Validators.required)
}, this.pwdMatchValidator);
}
emailMatchValidator(frm: FormGroup) {
return frm.get('password').value === frm.get('cpassword').value
? null : { 'mismatch': true };
}
pwdMatchValidator(frm: FormGroup) {
return frm.get('password').value === frm.get('cpassword').value
? null : { 'mismatch': true };
}
HTML
<span class="help-block"
*ngIf="addEmpForm.get('cemail').touched && cemail?.errors ||
addEmpForm.get('cemail').touched && addEmpForm.errors?.mismatch">
Email doesn't match
</span>