286 votes

Angular2 Si ngModel est utilisé dans une balise de formulaire, l'attribut name doit être défini ou le formulaire.

Je reçois cette erreur de Angular 2

core.umd.js: 5995 EXCEPTION: Uncaught (promis): Erreur: Erreur dans app / model_exposure_currency / model_exposure_connaie.component.html: 57: 18 provoquée par: Si ngModel est utilisé dans une balise de formulaire, l'attribut name doit être soit set ou le contrôle de formulaire doit être défini comme 'autonome' dans ngModelOptions.

       Example 1: <input [(ngModel)]="person.firstName" name="first">
      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">
<td *ngFor="let lag of ce.lags">
    <div class="form-group1">
        <input name="name" [(ngModel)]="lag.name" [ngModelOptions]="{standalone: true}"  class="form-control" pattern="[0-9]*(\.[0-9]+)?" required>
    </div>

</td>
 

Voici comment j'utilise la balise de formulaire:

  <form #f="ngForm" (ngSubmit)="onSubmit()">
 

559voto

Thyagu Points 3408

Si ngForm est utilisé, tous les champs d’entrée contenant [(ngModel)]="" doivent avoir un nom d’ attribut avec une valeur.

 <input [(ngModel)]="firstname" name="something">
 

65voto

Ali Adravi Points 932

Comme chaque développeur a l'habitude de ne pas lire l'erreur complète, lisez simplement la première ligne et commencez à chercher la réponse de quelqu'un d'autre :) :) Je suis aussi l'un d'entre eux, c'est pourquoi je suis ici:

Lisez l'erreur en disant clairement:

 Example 1: <input [(ngModel)]="person.firstName" name="first">
Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">
 

Que faut-il de plus pour comprendre cette erreur?

Utilisez n'importe quelle option, tout fonctionnera sans heurts.

34voto

Les deux attributs sont nécessaires et revérifier que tous les éléments de formulaire ont un attribut "name". Si vous utilisez le concept de soumission de formulaire, utilisez une balise div à la place d'un élément de formulaire.

 <input [(ngModel)]="firstname" name="something">
 

20voto

Eric Points 2410

J'ai remarqué que l'outil de développement Chrome ne soulignait parfois que le premier élément en rouge swiggly, même s'il était correctement configuré avec un nom. Cela m'a jeté pendant un moment.

Vous devez vous assurer d’ajouter un nom à chaque élément du formulaire contenant ngModel, quel que soit celui qui est souligné.

19voto

RAHUL KUMAR Points 321

Lorsque vous regardez clairement la console, elle vous donnera deux exemples.Appliquez-les.

 <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone:
   true}">
 

ou <input [(ngModel)]="person.firstName" name="first">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X