solution for the password/confirm password matching:
matchingPasswords(passwordKey: string, passwordConfirmationKey: string) {
return (group: FormGroup) => {
let passwordInput = group.controls[passwordKey];
let passwordConfirmationInput = group.controls[passwordConfirmationKey];
if (passwordInput.value !== passwordConfirmationInput.value) {
return passwordConfirmationInput.setErrors({passwordMismatch: true});
}
};
}
this.formBuilder.group({
...
password: [this.initialUserDetail.password],
confirmPassword: [this.initialUserDetail.confirmPassword],
...
}, { validator: this.matchingPasswords('password', 'confirmPassword') });