Angular ngMessage: Validierung beim Senden von Formularen

8

In diesem Plunk gibt es ein Formular mit ngMessage-Validierungen. Das versuche ich zu erreichen:

  • Wenn das Formular dem Benutzer angezeigt wird, sollten keine Fehlermeldungen angezeigt werden
  • Bei Unschärfen sollte die Meldung angezeigt werden, wenn das Feld Fehler enthält.
  • Wenn beim Senden des Formulars Felder mit Fehlern vorhanden sind, sollten die Fehlermeldungen angezeigt werden.

Im Plunk habe ich zwei Probleme: (1) Die Nachricht wird angezeigt, wenn das Formular anfänglich angezeigt wird, und (2) wenn keine Fehlermeldungen angezeigt werden und der Benutzer auf die Schaltfläche klickt, wird das Formular nicht übermittelt. Was stimmt nicht mit dem Code?

HTML

%Vor%

Javascript

%Vor%     
ps0604 19.01.2016, 10:54
quelle

3 Antworten

11

Sie müssen Validierungsnachrichten unter Verwendung einer Bedingung wie z. ng-if

HTML:

%Vor%

Javascript:

%Vor%

und verschiebe ng-submit von der Schaltfläche, um ein Tag zu bilden wie:

%Vor%     
Kwarc 19.01.2016, 12:45
quelle
3

Basierend auf Kwarcs Answser, ist hier eine kleine Verbesserung, da Sie vermeiden können, eine $scope Variable zu verwenden, um zu wissen, ob Ihr Formular übermittelt wurde. Es sorgt auch für ein besseres Verhalten bei der Anzeige von Fehlermeldungen.

HTML:

%Vor%

Javascript:

%Vor%

myForm.$submitted wird automatisch auf

gesetzt

und schließlich, wenden Sie die gleiche Formularsende-Methode für das Formular-Tag an:

%Vor%     
Lithium 11.01.2017 10:39
quelle
0

Für mich war es einfach genug, in der ng zu verwenden - wenn der $ submitted-Zustand des Formulars (Beispiel Barebones) ist:

%Vor% %Vor%
    
Arnulfo Solis Ramirez 28.03.2017 09:45
quelle

Tags und Links