export function ledgerExists()

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);
  };
}