Еще одна проблема «контекста».
У меня есть эта самая функция с именем ' isInDatabase () '.Это должен быть пользовательский валидатор, я получил вдохновение на странице Github 'angular / validator'.
Как вы можете видеть, я вызываю функцию ' this.clientService.checkElement ',И, как объявлено, я получаю сообщение об ошибке: «Не удается прочитать свойство« checkElement »из неопределенного».
Подсказка 1: (?)
В соответствиик тому, что я уже видел и прочитал, контекст изменился, даже если я использую функцию стрелки, потому что эта функция стрелки включена в другую функцию.
Подсказка 2: (?)
Я пытался реализовать это: constructor (private clientService: ClientService) {}
, но затем произошла ошибка: ошибка TS2339: свойство 'clientService' не существует для типа 'typeof CustomValidators'.
Вот код:
export class CustomValidators {
private static clientService: ClientService;
static isInDatabase(elementType: string): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
this.clientService.checkElement(control.value, elementType)
.subscribe(() => {
return {isInDB: true};
},
(error) => {
return {isInDB: true};
});
return (null);
};
}
}