In Angular2 Sie den Fehler aus der Antwort erfassen müßten.
badRequest: boolean = false;
this.appService.myHttpCall.subscribe(
data => // do something with success,
error => {
if(error.status == 400){
this.badRequest = true;
}
});
Und verwenden Sie das Ergebnis in Ihrer Vorlage. Wenn Sie wirklich den *ngIf
Weg gehen wollen, würden Sie dies tun:
<button *ngIf="badRequest" type="button" disabled>My Button</button>
<button *ngIf="!badRequest" type="button">My Button</button>
Sie würden im Wesentlichen zwei Tasten codieren, beide mit *ngIf
Aussagen das gewünschte Ergebnis zu erhalten.
Wenn Sie die [disabled]
verwenden möchten Attribut Sie das tun würde:
<button [disabled]="badRequest" type="button">My Button</button>
Allerdings würde ich nicht auf eine Schaltfläche, wenn ein BadRequest passiert, deaktiviert, weil dann, wie würde der Benutzer das Formular erneut einreichen, nachdem es richtig füllen aus? Wenn der Benutzer beispielsweise ein erforderliches Feld leer lässt, gibt der Server eine BadRequest zurück und deaktiviert die Schaltfläche. Dann kann der Benutzer das fehlende Feld nicht korrigieren und das Formular erneut senden.
Was würde ich stattdessen tun ist die Schaltfläche des disabled
Attribut basierend auf der Gültigkeit der Form wie folgt zu wechseln:
<form (ngSubmit)="onSubmit()" #myForm="ngForm">
...inputs....
<button type="submit" class="btn btn-success" [disabled]="!myForm.valid">SUBMIT</button>
</form>
Hoffnung, das hilft.
Da Sie keinen Code bereitstellen, ist es schwer zu helfen. http.get (...). Map (...). Subscribe (res => {...}, err => {console.log (err.status)}); // würde 400 in der Konsole schreiben. – Ploppy
Von hier aus können Sie alles tun, was Sie wollen. – Ploppy
geben Sie mir bitte eine Sekunde :) –