Methode, um Wert und aktualisieren Sie die Gültigkeit der Formular-Steuerelement
Frage ich mich, ob es irgendeine Methode, um Wert-und update-Gültigkeit ein Steuerelement von einem Formular. Angesichts der folgenden:
this.updateForm = this._formBuilder.group({
user: ['',Validators.required]
});
Habe ich einige Richtlinie, die auf Veränderung auslösen, löst die folgenden:
changeUserSelection(value){
this.updateForm.controls['user'].value = value //doesnt trigger validation?
}
Und ich Frage mich, wie ich den Wert festlegen, auslösen und die Validierung dieses Feldes. Dies zu tun meinen Weg, nicht auslösen Validierung.
Dank
InformationsquelleAutor uksz | 2016-03-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die
updateValue
Methode statt:Für einige Grund mein TS nicht sehen, und ich bekomme eine Fehlermeldung: Eigenschaft "updateValue" existiert nicht auf Typ 'AbstractControl'.
Ja, weil die Methode befindet sich in der
Control
Klasse nicht in derAbstractControl
.Control
erstrecktAbstractControl
. Siehe github.com/angular/angular/blob/master/modules/angular2/src/...warten. aber wenn ich ein Formular erstellen, mit formBuilder, es gibt AbstractControls...richtig?
Ja, aber Sie versuchen, den Wert über ein input-Kontrolle innerhalb der form. In diesem Fall, es ist ein Control, also
this.updateForm.controls['user']
.InformationsquelleAutor Thierry Templier
Update zu Angular2 letzten
Als pro angular2 die Finale Version
updateValue
wurde geändert, umsetValue
also die neue syntax sollte wie folgt sein
updateValueAndValidatity
aufgerufen werden müssen, um trigger die validator-Funktionen.Beachten Sie auch, dass
setValue
nicht aktualisieren Sie die unberührte status der Steuerung.markAsDirty
müssen jedoch explizit aufgerufen werden.ja genau @YuanfeiZhu
InformationsquelleAutor Pardeep Jain
Könnte man auch versuchen, patchValue
InformationsquelleAutor Mackelito