각도 2에서 사용자 정의 유효성 검사기를 직접 만들려고합니다.종속성이있는 Angular2 사용자 정의 유효성 검사기
나는 validator 인터페이스를 구현하는 자체 CustomValidators 클래스를 만들었습니다.
import { FormControl } from "@angular/forms";
import { MyhttpService } from "./myhttp.service";
import { Response } from "@angular/http";
import { Injectable, Directive } from '@angular/core';
@Injectable()
export class CustomValidators{
constructor(private _http : MyhttpService){
}
public api(c : FormControl)
{
// Run
this._http.get("/expenses/email?email=" + c.value).subscribe((res:Response) => {
if(res.status === 200){
// email exists
return null;
} else {
return {"email" : true}
}
});
}
api를 정적 메서드로 만들면 클래스를 성공적으로 사용할 수 있습니다. 내가 생성자가 실행되지 않았습니다으로 생성자 값 중 하나에 액세스 할 필요가 없습니다
this._formDetails = fb.group({
"managerEmail" : ["", [Validators.required, CustomValidators.api] ]
});
그러나 물론 이것은 정적 방법이다.
따라서 종속성이있는 사용자 정의 유효성 검사기를 구현하는 방법을 찾을 수 없으며 방법이 있어야합니다.
내 클래스가 클래스의 인스턴스화 된 개체를 받도록 CustomValidators를 공급자로 나열하려고했습니다.
재산권 'API'나는 올바른 방법으로 클래스를 제공 유형에 '대해서 typeof CustomValidators'
암이 존재하지 않는 이유는 무엇입니까? 왜 그 방법은 존재하지 않습니까?
동일한 문제가 발생했는데 해결책을 찾았습니까? –