2017-04-06 79 views
0

我創建這個表格裏面ngOnInit()方法:窗體控件未發現

this.cardForm = this.fb.group({ 
    card_number: ['', Validators.required], 
    holderName: ['', Validators.required], 
    expiry: ['', Validators.required], 
    cvc: ['', Validators.required], 
    address_line1: ['', Validators.required], 
    address_line2: ['', Validators.required], 
    address_city: ['', Validators.required], 
    address_state: ['', Validators.required], 
    address_zip: ['', Validators.required], 
    address_country: ['', Validators.required] 
    }); 

在我的模板:

<form [formGroup]="cardForm" novalidate="novalidate"> 
    <div class="form-group"> 
    <label for="cardnumber">Card number</label> 
    <input 
     type="text" 
     name="cardnumber" 
     class="input-transparent form-control" 
     formControlName="card_number" 
     data-mask="9999-9999-9999-9999" 
     placeholder="____-____-____-____" 
     required="required"> 
</div> 

不過,我得到這個錯誤:

ERROR Error: Cannot find control with name: 'card_number'

+0

是'this.fb.group'一個' FormGroup'?它在哪裏發起? – YounesM

回答

1

你沒有在您的input標記中有id。 嘗試插入

<input 
    id="card_number" 
    ... 
> 

更新1 如果你能提供一些更多的代碼,將有很大的幫助。由於有Validators.required它應該有一個值。無論如何,只是一個預感 嘗試使用您的輸入。

[formControl]="cardForm.controls['card_number']"

,而不是

formControlName="card_number"

+0

我認爲只需要設置'formControName',不是嗎? – Jordi

+0

該消息現在不顯示。儘管如此,價值並沒有增加。在帖子中查看。 – Jordi

+0

@ user3227319這個ID對於它的工作是必要的 – brijmcq

0

電話:

this.cardForm = this.fb.group({...)} 
在構造

,而不是ngOnInit()

+0

我試過了,它一直在失敗...... – Jordi

+0

嘗試:this.cardform = new FormGroup({..}),在構造函數中,而不是ngOnInit() –