Следующий блок в валидаторе директивы атрибута возвращает нулевое значение.
import { Directive, Attribute } from '@angular/core';
import { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';
@Directive({
selector: '[validateEqual]',
providers: [
{ provide: NG_VALIDATORS, useExisting: EqualValidatorDirective, multi: true }
]
})
export class EqualValidatorDirective implements Validator {
constructor( @Attribute('validateEqual') public validateEqual: string, private page: Page) { }
validate(c: AbstractControl): { [key: string]: any} {
const v = c.value;
const e = c.root.get(this.validateEqual);
console.log(e);
if ( e && v !== e.value ) {
return { validateEqual: false};
}
return null;
}
}
Он не возвращает ожидаемое значение элемента управления текстового поля на странице.