form field validation (much better error messages)

This commit is contained in:
jonaswinkler
2021-01-03 13:09:16 +01:00
parent e05f365e6a
commit a96ab9a9a4
16 changed files with 102 additions and 30 deletions

View File

@@ -2,6 +2,7 @@ import { Directive, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { MATCHING_ALGORITHMS, MATCH_AUTO } from 'src/app/data/matching-model';
import { ObjectWithId } from 'src/app/data/object-with-id';
import { AbstractPaperlessService } from 'src/app/services/rest/abstract-paperless-service';
@@ -24,6 +25,10 @@ export abstract class EditDialogComponent<T extends ObjectWithId> implements OnI
@Output()
success = new EventEmitter()
networkActive = false
error = null
abstract getForm(): FormGroup
objectForm: FormGroup = this.getForm()
@@ -77,11 +82,14 @@ export abstract class EditDialogComponent<T extends ObjectWithId> implements OnI
default:
break;
}
this.networkActive = true
serverResponse.subscribe(result => {
this.activeModal.close()
this.success.emit(result)
this.networkActive = false
}, error => {
this.toastService.showError(this.getSaveErrorMessage(error.error.name))
this.error = error.error
this.networkActive = false
})
}