私はAngular2/Ionic2でフォームを生成しており、Angularサイトのdynamic form tutorialに従っています。しかし、私のニーズに合わせて、ただ必要なものではなく、より多くのバリデーションが必要です。したがって、このコード。Array.ForEach内で関数を呼び出す
doGenerateKidsBasicFormWithNameAndAge(params: any){
let kidsData:any = {};
params.forEach(question => {
kidsData[question.id] = this.doDecideValidation(question)
});
return new FormGroup(kidsData);
}
これは、どのタイプの検証が適用されるかを決定する関数です。
doDecideValidation(question){
if(question.type === "text"){
new FormControl(question || '', Validators.compose([Validators.required, Validators.minLength(question.minLength), Validators.maxLength(question.maxLength), Validators.pattern('[a-zA-Z ]*')]));
}else if(question.type === "number"){
new FormControl(question || '', Validators.compose([Validators.required]));
}else {
new FormControl(question || '');
}
};
これを行うとエラーが発生します。
TypeError: Cannot read property 'setParent' of undefined
私はどこでもあなたが与えたコードで呼ばなっsetParent'メソッドを '表示されません。その部分も投稿できますか? – Scrambo
TBH私はそれを持っていません。何がSetparentなのですか?私はそれを探していますが、ドキュメントは少しスリムであるようです。良い資源?編集:私はクラス(?)に適用するメソッドを参照してください。フォームを初期化するクラスに適用する必要がありますか?本当にありがとう! –
Edit2:[そして私はこれを参照してください](https://angular.io/docs/dart/latest/api/angular2.web_worker.worker/AbstractControl/setParent.html)それは本当に私を助けません –