是新形式的異步驗證,angular2,我想驗證來自服務器的電子郵件地址,但它沒有在angular2
這是我的形式
this.userform = this._formbuilder.group({
email: ['', [Validators.required], [this._validationService.emailExistsValidator.bind(this)]],
});
然後_ValidationService我有 驗證服務是與@Injector
@Injectable()
export class ValidationService{
constructor(
private _authService:AuthService
){}
emailExistsValidator(control) {
if (control.value != undefined) {
return this._authService.checkExists("email")
.map(response => {
if (!response) {
return {'emailNotExists': true};
}
});
}
}
}
服務而在authservice我有(其被另一服務執行HTTP請求)
@Injectable()
export class AuthService {
checkExists(value):Observable<any>{
return this._http.get(this.authurl+value)
.map(response => {
return response //this is either true or false
});
}
}
我已按照建立我的表格This link但它無法
返回的錯誤是
Cannot read property 'checkExists' of undefined
at UsersComponent.webpackJsonp.187.
ValidationService.emailExistsValidator
可能是錯的什麼
您需要爲您的代碼提供更多上下文。 'emailExistsValidator()'方法位於何處? 「this._authService」如何實例化? – AngularChef
對不起更新的問題,這些都是不同的服務,this._authservice在構造函數中實例化 –