Dans le code ci-dessous this.fb
est FormBuilder
exemple "contrôle» de propriété n'existe pas sur le type 'AbstractControl'" --prod angulaire 2 génération échoue
return this.fb.group({
name: ['', [<any>Validators.required]],
phone: ['', [<any>Validators.required]],
email: ['', [<any>Validators.required, Validators.email]],
website: ['', [<any>Validators.pattern(web_pattern)]]
tax_code: ['', [<any>Validators.required,Validators.maxLength(50)]],
owner: this.fb.group({
first_name: ['', [<any>Validators.required, Validators.maxLength(30)]],
last_name: ['', [<any>Validators.required, Validators.maxLength(30)]],
phone: ['', [<any>Validators.required]],
email: ['', [<any>Validators.required, Validators.email]],
password: ['', [<any>Validators.required]],
})
});
Sur la construction de ce code à l'aide ng build --prod
, il échoue en indiquant: La propriété 'controls' n'existe pas sur le type 'AbstractControl'. Il rencontre un problème avec la clé owner
, qui est une instance FormGroup
, au lieu de FormControl
. Cependant, selon docs angulaire est valide pour ajouter un FormGroup
dans un FormGroup
.
Ce code se construit parfaitement sans --prod
. Je comprends que --prod
conduit à une vérification stricte. Je ne suis pas capable de comprendre comment corriger cela.
Pouvez-vous ajouter modèle pour ce composant? – yurzui
S'il vous plaît donner un [mcve] – jonrsharpe
Je pense que yurzui est sur la bonne voie. C'est probablement quelque chose dans votre code HTML, quelque chose comme 'form.controls.owner.controls.first_name' pourrait devenir' form.controls.owner ['controls']. First_name' – LLai