abstruse
Version:
Abstruse CI
24 lines (19 loc) • 658 B
text/typescript
import { Directive, forwardRef, Attribute } from '@angular/core';
import { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';
({
selector: '[validateEqual][ngModel]',
providers: [
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true }
]
})
export class EqualValidator implements Validator {
constructor('validateEqual') public validateEqual: string) {}
(validate(c: AbstractControl): { [key: string]: any } {
let v = c.value;
let e = c.root.get(this.validateEqual);
if (e && v !== e.value) {
return { validateEqual: false };
}
return null;
}
}