новичка в angular2 и у меня есть класс, который имеет статические функции в angular2 и я хотел бы осуществить запрос HTTP на одном из статических функций, что являетсяИспользование службы без инъекции в angular2
У меня есть статические классы которые управляют проверки формы
FORM VALIDTION
this.userform = this._formbuilder.group({
first_name: [this.user.first_name, Validators.required],
last_name: ['', Validators.required],
username: ['', Validators.compose(
[
Validators.required,Validators.minLength(5)
]
)],
password: ['',Validators.compose([
Validators.required,ValidationService.passwordValidator
])],
email: ['', Validators.compose([
Validators.required,ValidationService.emailValidator
])],
role: ['', Validators.required],
})
на ValidationService
constructor(private _http:Http){}
static passwordValidator(control) {
if(control.value != undefined){
if (!control.value.match(/^(?=.*[0-9])[[email protected]#$%^&*]{6,100}$/)) {
return { 'invalidPassword': true };
}
}
}
static emailValidator(){
return this._http. //this returns an error i would like to
//query server to see if email exists
}
в моем случае выше, как я могу использовать HTTP в статической функции вероятно, путем присвоения его переменной
То есть let http...
Это используется Here, но это было в RC5 whic терпит неудачу мне
'но, как разработчик, я бы плакать, если я должен был бы поддерживать такие вещи, как that' +1 – Xymanek
хороший ответ smnbbrv, Айв решил изменить валидатор быть сервис, но его хорошо изучить, если есть другие параметры, которые могут пригодиться позже –
Я также надеюсь, что это помогает кому-то, потому что иногда полезно знать эти вещи. Неделю назад у меня была аналогичная проблема: передача экземпляра службы в простой класс и передача его непосредственно в конструктор класса (первый обходной путь) помогли достичь этого. Второй метод обхода очень часто используется для модульного тестирования сервисов, поэтому это также полезно. – smnbbrv