Я создал пользовательский файл класса валидатора и импортировал его в свой проект, и он отлично работает, но когда я попытался использовать http, это показало мне проблему
это код custom.validator.ts
import { AbstractControl } from '@angular/forms';
import { Http } from '@angular/http'
export class CustomValidators{
constructor(private http:Http){}
/**
* check if this email is duplicate
*/
isEmailduplicat(control:AbstractControl){
console.log(control.value)
this.http.get('http://localhost/user/by/email/'+control.value).subscribe(data=>
{
console.log('data is', data)
})
return null;
}
}
это форма инициализируется в коде компонента
//properties
form:FormGroup; //this is a signup Form
constructor( private _auth:AuthService, private formBuilder:FormBuilder, private cv:CustomValidators ) {
this.form = this.formBuilder.group({
email : ['', [Validators.required,this.cv.isEmailduplicat]],
password : ['',[Validators.required]],
confirm : ['', [Validators.required]]
})
}
, и я импортировал файл customVlidator в app.module.ts и установил его в поставщиках: [CustomValidators]
без http это работает хорошо, но при попытке использовать http выдает мне эту ошибку «Ошибка: невозможно разрешить все параметры для CustomValidators: (?)».