Angulaire de Validation NG-ne pas afficher de message requis après la soumission, et de supprimer le texte

C'est mon actuel de validation mis en place pour mon formulaire de

<ng-messages for="searchForm.$error" ng-if="searchForm.$submitted">
  <ng-message when="required" class="error-message">This search field is required.</ng-message>
</ng-messages>

et ma forme

<form role="form" ng-submit="searchForm.$valid && searchcode()" name="searchForm" novalidate>

Il fonctionne très bien.

Mais voilà ce que je n'aime pas ce scénario

1), appuyez sur Entrée sur vide "searchbox" - > on affiche le message "Champ Obligatoire"

2) Commencez à Taper et Effacer le Texte sans avoir à appuyer sur la touche enter - > message d'erreur s'affiche de nouveau

C'est le deuxième scénario, je ne veux pas...des idées ?

pourquoi êtes-vous à l'aide de searchForm.searchQuery.$touched? cela pourrait être la raison pour laquelle vous êtes l'obtention de ce comportement. essayez d'utiliser seulement searchForm.$submitted
Débarrasser d'elle et juste eu soumise, mais même comportement...il semble qu'après la première soumettre le formulaire de séjours dans les "Soumis" de l'état, et que le message d'erreur montre à chaque fois que la zone de texte est vide, c'est plutôt lorsqu'il est soumis de nouveau
Ce post pourrait vous aider.
Également un charme de démonstration pourrait l'aider.
Je pense aussi, que si vous remplacez le $a touché une partie de la ng-si $vierges. Assurez-vous de définir le formulaire avec $setPristine après la soumission du formulaire.

OriginalL'auteur StevieB | 2014-12-05