export function groupExists()

in src/app/common/validator/group-exists.validator.ts [28:42]


export function groupExists(groupService: GroupService): AsyncValidatorFn {
  return (control: AbstractControl): Observable<any> => {
    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 groupService.getGroup(control.value, true)
      .map(group => null)
      .catch(() => invalid);
  };
}