Один из способов добиться этого - поместить пароль и verifyPassword в FormGroup . Затем эта форма FormGroup может быть передана в пользовательскую функцию проверки, которая принимает тип AbstractControl в качестве объекта, из которого выходит FormGroup. Таким образом, вы могли бы пойти что-то вроде этого:
template.html
<form [formGroup]="main">
<!-- Other FormControls -->
<div formGroupName="passwordGroup">
<!-- input element for password FormControl -->
<!-- input element for verifyPassword FormControl -->
</div>
</form>
component.ts
function passwordValidator(c: AbstractControl) : {[key: string] : boolean} | null {
let password = c.get('password');
let verifyPassword = c.get('verifyPassword');
if(password.value === verifyPassword.value)
return null;
else
return {'match' : true};
}
ngOnInit() {
this.main = this.fb.group({
otherFormControls : [''],
passwordGroup: this.fb.group({
password: ['',[Validators.required],
verifyPassword: ['',Validators.required]
},{validator : passwordValidator})
});}