Angular 4:在验证器函数中使用Service

时间:2017-08-30 10:29:29

标签: angular

我想在表单验证功能中使用服务。

我有一个服务文件:

import { Injectable } from '@angular/core';
import { Apollo } from 'apollo-angular';

@Injectable()
export class AuthService {
  constructor(private apollo: Apollo) {}

  test() {
    return "test"
  }
}

和验证器函数的文件

import { AbstractControl } from '@angular/forms';
import { of } from 'rxjs/observable/of';
import { AuthService } from './../../auth/services/auth.service'

export function UsernameValidator(control: AbstractControl) {
  let test = AuthService.test(control.value)
  if (test !== "test") {
    return of(null)
  } else {
    return of( { validName: { message: "username cannot be test" } })
  }
}

我的问题是,验证器功能不知道服务,因此说

  

类型'typeof AuthService'

上不存在属性'test'

有人可以向我解释一下,如何使验证器功能了解服务或如何注入服务或正确实例化它?

0 个答案:

没有答案