Cloud-CV/EvalAI

View on GitHub
frontend_v2/src/app/Directives/password.validator.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Directive } from '@angular/core';
import { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';

@Directive({
  selector: '[appComparePassword]',
  providers: [{ provide: NG_VALIDATORS, useExisting: PasswordMismatchValidatorDirective, multi: true }],
})
export class PasswordMismatchValidatorDirective implements Validator {
  validate(control: AbstractControl): ValidationErrors {
    const pswrd = control.get('password');
    const confirmpswrd = control.get('confirm_password');
    return pswrd && confirmpswrd && pswrd.value !== confirmpswrd.value ? { passwordMismatch: true } : null;
  }
}