Professor, fazendo uma adaptação no exemplo criei um validador customizado para verificar se um campo coincide com outro, para usar, por exemplo, numa página de trocar senha o usuário deve digitar uma nova senha e depois redigitar em outro campo a mesma senha.
Fiz o seguinte validador:
import { AbstractControl, ValidatorFn } from '@angular/forms';
export function sameValidator(field1: string, field2: string): ValidatorFn {
return (control: AbstractControl): { [key: string]: boolean | null } => {
if (control.get(field1) !== control.get(field2)) {
return { same: true };
}
return null;
};
}
No controller está assim:
ngOnInit() {
this.newPasswordForm = this.formBuilder.group({
username: ['', Validators.required],
passwordAtual: ['', Validators.required],
passwordNovo: ['', Validators.required],
passwordConfirmacao: [
'',
[Validators.required, sameValidator('passwordNovo', 'passwordConfirmacao')]
]
});
}
Porém o validador não funciona.