Как использовать Injectable Service в пользовательском валидаторе - PullRequest
0 голосов
/ 17 января 2019

У меня есть этот сценарий: -

Я создаю в моем приложении customvalidator, который использует сервис для получения данных

import { AbstractControl } from '@angular/forms';
import { IndianStatesAndCitiesService } from './indianstatesandcities.service';
export function SpecificState(control: AbstractControl) {
    let iss : IndianStatesAndCitiesService;
    let getiss : string[] = [];
    for(let i in iss.getStatesAndCities()){
        getiss.push(i);
    }
    if (control.value !== undefined && (getiss.includes(control.value))) {
        return { 'specificState': true };
    }
    return null;
}

Но выдает следующее сообщение об ошибке: -

ERROR TypeError: Cannot read property 'getStatesAndCities' of undefined
    at SpecificState (specificstate.validator.ts:6)

Могу ли я в любом случае использовать угловую службу внутри этой функции?

1 Ответ

0 голосов
/ 17 января 2019

заменить это

let iss : IndianStatesAndCitiesService;

с

var iss = new IndianStatesAndCitiesService();

вы не создали объект службы попробуйте это

...