Я создал специальный валидатор в Angular. Я использую сервис Angular в функции валидатора validateFund
. Однако Angular предоставляет новый экземпляр сервиса; моя проверка всегда терпит неудачу, когда я пытаюсь проверить данные, так как экземпляр службы является новым и не содержит данных, которые присутствуют в другом экземпляре службы.
Вот валидатор:
export function validateFund(control: AbstractControl): ValidationErrors | null {
const injector = Injector.create([{ provide: FundOrgService, deps: [] }]);
const fundOrgService = injector.get(FundOrgService);
console.log(fundOrgService.funds);
const fund: Fund = control.value;
const check = fundOrgService.getFundById(fund.portId);
return fund && check ? null : { 'fund-validity': true };
}