Nativescript Валидатор директивы углового атрибута AbstractControl.root.get не работает - PullRequest
0 голосов
/ 21 октября 2018

Следующий блок в валидаторе директивы атрибута возвращает нулевое значение.

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;
  }

}

Он не возвращает ожидаемое значение элемента управления текстового поля на странице.

...