代码之家  ›  专栏  ›  技术社区  ›  Dhiresh Budhiraja

如何在自定义验证器中使用可注入服务

  •  0
  • Dhiresh Budhiraja  · 技术社区  · 6 年前

    我有这样的想法:

    我正在应用程序中创建一个使用服务获取数据的自定义验证器

    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 回复  |  直到 6 年前
        1
  •  0
  •   Sneha Pawar    6 年前

    替换这个

    let iss : IndianStatesAndCitiesService;
    

    具有

    var iss = new IndianStatesAndCitiesService();
    

    您尚未创建服务对象,请尝试此操作