Async Validator для уникального имени - PullRequest
0 голосов
/ 03 октября 2019

Я хочу знать, возможно ли сделать отправку на сервер перед отправкой формы.

Я объясняю вам, у меня есть форма с некоторыми входными данными, эти входные данные (например: имя, группа, клиент)возможно, уже создали, но мне нужно сделать запрос к серверу, когда я живу в поле ввода, чтобы получить ответ и отобразить сообщение об ошибке.

Я сделал валидатор custon async, но что-то не так, я просто хочупроверьте, если имя уже существует, но оно также может остаться пустым.

Теперь, когда я его использую, оно всегда показывает мне подтверждение ошибки.

import {AbstractControl, ValidationErrors, AsyncValidatorFn} from '@angular/forms';
import { Observable} from "rxjs";
import {FixtureService} from "../../app/services/fixture.service";
import {map} from'rxjs/operators';

export function UniqueFixtureNameValidator(fixtureService: FixtureService): AsyncValidatorFn {
  return (c: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {
    return fixtureService.getFixture(c.value).pipe(
      map(name => {
       return name && name.length > 0 ? { 'uniqueFixtureName': true } : null;
      })
    );
  };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...