Seems adding the #lname template ref is the problem.
<input [(ngModel)]="ng2Form.lname" name="lname" id="lname" type="text" #lname="ngModel" required placeholder="Last name" /> ...otherwise, the form works as expected. Plunk: read the errors in the console. <https://plnkr.co/edit/aeToUX?p=info> Console error message: There is no directive with "exportAs" set to "ngModel" [ERROR ->]#lname="ngModel" Enter code here... Looks to be the same issue reported here: https://github.com/angular/angular/issues/9363 -- You received this message because you are subscribed to the Google Groups "AngularJS" group. To unsubscribe from this group and stop receiving emails from it, send an email to angular+unsubscr...@googlegroups.com. To post to this group, send email to angular@googlegroups.com. Visit this group at https://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.