was ist der richtige Weg, um dynamisch markieren Sie ein Feld als erforderlich mit Hilfe der Winkel-2 Formulare?

Verwendung von Winkel-2 (2.0.0), was ist der empfohlene Weg, um dynamisch markieren Sie ein Feld als erforderlich, mit Eckige Formen?

In all Ihren Beispielen, die das required-Attribut wird nur Hinzugefügt, wie:

<input type="text" class="form-control" id="name" required>

Was ist, wenn das Modell, das ich bin die Bindung an eine IsRequired Eigenschaft, wird true/false?

Wenn ich so etwas wie:

<input [(ngModel)]="field.Value" type="text" value="{{field.Value}}" [attr.required]="field.IsRequired"/>

Macht, dass auf der Seite wie (beachten Sie die ="true"):

<input type="text" required="true" />

Für einige Grund -, Winkel scheint nicht zu erkennen, das Attribut, wenn es einen tatsächlichen Wert (="true") also wenn dieses Feld leer ist, ist mein Formular selbst, immer noch gültig ist:

<form class="ng-untouched ng-pristine ng-valid">

So scheint es, dass ich verwenden muss required und nicht required="true", aber wie kann ich das Attribut dynamisch?

Was auch nicht funktioniert:

<input type="text" {{ getRequiredAttr(field) }} />

Dachte, ich könnte in der Lage sein, um eine Funktion zurückgibt, die mein string "required" auf der Grundlage des Feldes, das gibt nur Template-Fehler.

Gibt es eine Möglichkeit, dies zu erreichen und Rendern nur required für mein Attribut? Oder ein Weg, um Winkel-erkennen Sie dieses Attribut, wenn es einen Wert von true/false?

FWIW - ich habe festgestellt, dass ich verwenden können *ngIf zu schreiben, zwei nahezu identische <input type='text' /> steuert, basierend auf meinen IsRequired Eigenschaft und fest mit der required Attribut, aber das scheint ziemlich hacky. Hoffe, es gibt einen besseren Weg!

InformationsquelleAutor lhan | 2016-10-17
Schreibe einen Kommentar