2016-04-13 8 views
3

Mein Beispielformular (ControlGroup) enthält 2 Steuerelemente, die an 2 Eingabefelder gebunden sind. Da eine ControlGroup eine Eigenschaft "berührt" hat, erwarte ich, dass dies auf "true" gesetzt wird, wenn mindestens eines seiner untergeordneten Steuerelemente "berührt" wurde. Aber das ist nicht der Fall. Die Eigenschaft "berührte" der ControlGroup ist immer noch auf "false" gesetzt, obwohl eines der untergeordneten Steuerelemente berührt wurde. Für die Eigenschaft "gültig" funktioniert dies stattdessen wie erwartet. Bin ich falsch mit meiner Erwartung?Eigenschaft "berührte" von ControlGroup nicht korrekt eingestellt

Ich bin mit 2.0.0-beta.14

Mein Beispiel Komponente:

import {Component} from 'angular2/core'; 
import {ControlGroup, FormBuilder, Validators} from 'angular2/common'; 

@Component({ 
    selector: 'form-group-example', 
    template: ` 
     <h1>Angular 2 Control & Control Group example</h1> 
     <form [ngFormModel]="form" (ngSubmit)="onSubmit()"> 
      <label for="firstname">Vorname</label> 
      <input id="firstname" ngControl="firstname"/> 
      <label for="lastname">Nachname</label> 
      <input id="lastname" ngControl="lastname"/> 

      <button type="submit">Submit</button> 
     </form> 
    ` 
}) 
export class FormGroupExample { 
    form: ControlGroup; 

    constructor(fb: FormBuilder) { 
     this.form = fb.group(
      { 
       firstname: ['', Validators.maxLength(1)], 
       lastname: [''], 
      } 
     ); 
    } 

    onSubmit(): void { 
     console.log("form touched", this.form.touched); 
     console.log("form valid", this.form.valid); 
    } 
} 
+0

Ich erlebte das gleiche in der Plunker Ich fügte hinzu, http://StackOverflow.com/a/36591194/217408 'makellos' funktioniert auch, aber' berührt' nicht. 'berührte' funktioniert auf der Steuerung https://plnr.co/edit/mFlGI8?p=preview –

Antwort

0

Irgendwo habe ich gelesen, dass am onblur Ereignis gesetzt berührt. Vielleicht ist das Formular nicht unblutig.