NgIf и нажмите на ту же кнопку в диалоговом окне - PullRequest
0 голосов
/ 03 октября 2019

Я хочу создать форму с сообщением об ошибке, если имя уже существует или группа не существует. У меня появляется сообщение об ошибке от сервера, когда я нажимаю на кнопку отправить. Теперь я закрываю диалоговое окно с функцией «Подтвердить закрытие».

      <button mat-raised-button class="createUserBtn" color="primary" type="submit" [disabled]="form.invalid"   (click)="onCloseConfirm()">Save</button>

Но теперь мне нужно нажать на кнопку «Сохранить», дождаться сообщения об ошибке или нет. Если сообщение, отобразить его и открыть диалоговое окно. Если сообщение об ошибке отсутствует, выполните функцию «Подтвердить закрытие».

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

это моя функция. Отправить

  error = false;
  errorMessage = '';

onSubmit() {
    if (this.form.valid) {
      this.fixtureService.create(this.form.value)
        .catch(error => {
          console.log(error);
          if (error.error.error ==='FIXTURE_NAME_TAKEN') {
            console.warn("Fixture name already exist");
            this.error = true;
            this.errorMessage = 'Fixture name already exist'
          } else if (error.error.error ==='GROUP_NOT_FOUND') {
            console.warn("Group selected doesn't exist");
            this.error = true;
            this.errorMessage = 'Group selected doesn\'t exist'
          } else onCloseConfirm();
}


...