2016-10-03 2 views
0

Ich habe folgenden Code bekam die Form in meiner Komponente initialisieren:Angular2 reaktive Form Standardeingabewert

let editMode: boolean = !!this.template.templateId; 

this.editTemplateForm = this.formBuilder.group({ 
    templateId: {value: editMode ? this.template.templateId : '', validators: [Validators.required, this.templateIdValidator]}, 
    dataStorageTime: {value: editMode ? this.template.dataStorageTime : this.globalParameter.dataStorageTime, Validators.required, Validators.pattern("[0-9]+")]}); 

Wert der Variable this.template.templateId nicht definiert ist, so editMode falsch ist. Für dataStorageTime wird der korrekte Standardwert in der verknüpften Eingabe im Formular festgelegt. Hovewer, für templateId Eingabe wird auf "[Object Object]" anstelle von leeren String gesetzt.

Ich benutze angular2 final realease.

Antwort

2

Dies ist die Lösung für mein Problem:

this.editTemplateForm = this.formBuilder.group({ 
templateId: [editMode ? this.template.templateId : '', [Validators.required, this.templateIdValidator]], 
dataStorageTime: [editMode ? this.template.dataStorageTime : this.globalParameter.dataStorageTime, [Validators.required, Validators.pattern("[0-9]+")]] 
}); 
+0

Upped Ihre Antwort @mdziob, ich habe meinen Kopf für die RegexMuster worden hämmern und versuchte, ein paar Dinge, aber nie versucht, indem '+' in das Muster! Jetzt funktioniert mein Code: D – Alex

Verwandte Themen