2016-06-15 11 views

Odpowiedz

23

trzeba zastosować metodę markAsDirty coś takiego:

control.markAsDirty(); 

Będzie to również oznacz wszystkich bezpośrednich przodków jako brudnych, aby utrzymać model.

Docs link

+0

Należy pamiętać, że będzie to również pracować na 'FormGroup', eliminując potrzebę ustawić walnięcie kontroli niezależnie od, powiedzmy , 'patchValue ({})'. – msanford

+0

Podczas gdy każdy post znajdujący się na SO mówi, aby wywołać markAsDirty, to z powodzeniem ustawia kontrolę jako brudną, ale nie bańka do NgForm lub FormGroup. Jeśli sprawdzę te obiekty w Chrome, ich "brudny" getter nadal zwraca wartość false. Nie mam pojęcia dlaczego. – nogridbag

0

Dla opartych na szablonach formularzy możemy skorzystać z poniższego kodu generycznego

public onSubmitForm(cardFormObject: NgForm) { 
     if (!cardFormObject.valid) 
      this.markAsDerty(cardFormObject);  

    } 

    private markAsDerty(cardFormObject: NgForm) { 
     for (var eachControl in cardFormObject.controls) { 
      (<FormControl>cardFormObject.controls[eachControl]).markAsDirty(); 
     } 
    } 
Powiązane problemy