I have an Angular 2 RC4 basic form example on Plunkr that appears to throw the following error (In Chrome DEV console)
Here's the plunkr
https://plnkr.co/edit/GtPDxw?p=preview
Error:
browser_adapter.ts:82 EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in ./App class App - inline template:1:7
ORIGINAL EXCEPTION: formGroup expects a FormGroup instance. Please pass one in.
Example: <form [formGroup]="myFormGroup">
ORIGINAL STACKTRACE:
Error: formGroup expects a FormGroup instance. Please pass one in.
Example: <form [formGroup]="myFormGroup">
at new BaseException (https://npmcdn.com/@angular/forms@0.2.0/src/facade/exceptions.js:27:23)
at FormGroupDirective._checkFormPresent (https://npmcdn.com/@angular/forms@0.2.0/src/directives/reactive_directives/form_group_directive.js:110:19)
at FormGroupDirective.ngOnChanges (https://npmcdn.com/@angular/forms@0.2.0/src/directives/reactive_directives/form_group_directive.js:39:14)
at DebugAppView._View_App0.detectChangesInter
There are a few issues in your code
<div [formGroup]="form">
outside of a<form>
tag<form [formGroup]="form">
but the name of the property containing theFormGroup
isloginForm
therefore it should be<form [formGroup]="loginForm">
[formControlName]="dob"
which passes the value of the propertydob
which doesn't exist. What you need is to pass the stringdob
like[formControlName]="'dob'"
or simplerformControlName="dob"
I was using reactive forms and ran into similar problems. What helped me was to make sure that I set up a corresponding FormGroup
in the class.
Something like this:
myFormGroup: FormGroup = this.builder.group({
dob: ['', Validators.required]
});
I had this error when I had specified fromGroupName instead of formArrayName.
Make sure you correctly specify if it is a form array or form group.
<div formGroupName="formInfo"/>
<div formArrayName="formInfo"/>
来源:https://stackoverflow.com/questions/38444778/formgroup-expects-a-formgroup-instance