私はこのフォームを作成しました:Angular2:ネストされたフォームグループ
this.cardForm = this.fb.group({
number: ['', Validators.compose([Validators.required, this.validateCardNumber])],
holderName: ['', Validators.required],
expiry: this.fb.group({
expirationMonth: ['', Validators.required],
expirationYear: ['', Validators.required],
}),
あなたが見ることができるように、私はexpiry
という名前のネストされたフォーム・グループを作成しました。私のテンプレートに:
<form [formGroup]="cardForm" novalidate="novalidate" (ngSubmit)="onSave()">
<div class="form-group">
<label for="cardnumber">Card number</label>
<input
type="text"
formControlName="number"
placeholder="Card number"
name="cardnumber"
class="input-transparent form-control">
</div>
...
<div class="form-group" formGroupName="expiry">
<label for="expirationmonth">Expiration month</label>
<select2 id="default-select"
name="expirationmonth"
[data]="months$ | async"
[width]="250"
[options]="select2Options">
</select2>
<label for="expirationyear">Expiration year</label>
<select2 id="default-select2"
name="expirationyear"
[data]="years$ | async"
[width]="250"
[options]="select2Options">
</select2>
</div>
私はこのエラーを取得しています:
ERROR Error: formGroup expects a FormGroup instance. Please pass one in.
Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
</div>
In your class:
this.myGroup = new FormGroup({
firstName: new FormControl()
});
任意のアイデア?
我々はより多くのコードを必要とする、( 'this.cardForm = this.fb.groupとき...) 'と呼ばれる? – n00dl3
select2コンポーネントのコードを追加します。 – yurzui
@ n00dl3、コンストラクタのコンポーネントで呼び出されます。 – Jordi