Angular2 Si ngModel est utilisé dans une balise de formulaire, l’atsortingbut name doit être défini ou la forme

Je reçois cette erreur de Angular 2

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

Example 1:  Example 2:   

Voici comment j’utilise la balise de formulaire:

  

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

  

Comme chaque développeur a l’habitude de ne pas lire l’erreur complète, il suffit de lire la première ligne et de chercher la réponse de quelqu’un d’autre 🙂 🙂 Je suis aussi l’un d’eux, c’est pourquoi je suis ici:

Lisez l’erreur en disant clairement:

 Example 1:  Example 2:  

Que faut-il de plus pour comprendre cette erreur?

Utilisez n’importe quelle option, tout fonctionnera en douceur.

Les deux atsortingbuts sont nécessaires et revérifient également que tous les éléments du formulaire ont l’atsortingbut “name”. Si vous utilisez le concept de soumission de formulaire, utilisez simplement la balise div au lieu de l’élément de formulaire.

  

Lorsque vous regardez clairement la console. Il vous donnera deux exemples.

  

ou

Vous n’avez pas mentionné la version que vous utilisez, mais si vous utilisez rc5 ou rc6, cet “ancien” style de formulaire est devenu obsolète. Jetez un coup d’œil sur cette question pour obtenir des conseils sur les techniques de «nouveaux» formulaires: https://angular.io/docs/ts/latest/guide/forms.html

Vous devez importer {NgForm} depuis @ angular / forms dans votre page.ts;

Code HTML:

  ...   ...  

Dans votre Page.ts, implémentez votre fonction pour manipuler les données de formulaire:

 function(data) {console.log("Name: "data.value.name + " Mail: " + data.value.mail);} 

Essaye ça…

   
Please enter a name.
Enter name greater than 4 characters.

Pour pouvoir afficher les informations sous la forme que vous souhaitez, vous devez indiquer ces entrées spécifiques de noms d’intérêt. Je vous recommande de faire:


 
... ...

J’ai remarqué que l’outil de développement Chrome souligne parfois uniquement le premier élément en rouge changeant même s’il est correctement configuré avec un nom. Cela m’a jeté un moment.

Il faut être sûr d’append un nom à chaque élément du formulaire qui contient ngModel, peu importe lequel est souligné soulignément.

Pour moi, la solution était très simple. J’ai changé la

en

et l’erreur disparaît.