in src/app/common/validator/ledger-exists.validator.ts [28:42]
export function ledgerExists(accountingService: AccountingService): AsyncValidatorFn {
return (control: AbstractControl): Observable<ValidationErrors | null> => {
if (!control.dirty || !control.value || control.value.length === 0) {
return Observable.of(null);
}
if (isString(control.value) && control.value.trim().length === 0) {
return invalid;
}
return accountingService.findLedger(control.value, true)
.map(ledger => null)
.catch(() => invalid);
};
}