Nicht Lesen-Eigenschaft $valid undefined
Ich habe ein Formular wie dieses -
<form name="myForm" novalidate>
Gibt es einige Felder im Formular, die ich überprüfen und dann Absenden des Formulars wie diese -
<input type="button" ng-click="Save(data)" value="Save">
Im controller, ich will, um zu überprüfen, ob das Formular ist nicht gültig, dann Save()
sollte zeigen, dass einige Fehler auf der Seite. Für das, ich bin einrichten einer Uhr wie dieser -
$scope.$watch('myForm.$valid', function(validity) {
if(validity == false)
//show errors
});
Aber ich bin immer diese Fehlermeldung auf, läuft es -
Cannot read property '$valid' of undefined
Kann mir jemand erklären, warum?
Dank
- Sollte das nicht
$scope.myForm.$valid
? - Nein, es ist implizit, wenn Sie verwenden Sie $ - Uhr-Methode.
- Warum brauchen Sie eine Uhr haben Methode über $gültig? Sie können einfach überprüfen Sie die form auf "Absenden".
- Ich habe versucht, bekam aber die gleiche Fehlermeldung. Brauche ich ngSubmit statt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du einfach nur falsch "myForm" im controller-code. Um um den Fehler zu entfernen, Schreiben Sie "myform" anstelle von "myForm".
Aber ich erwarte, dass das, was Sie wollen, ist, wie dieses.
Richte ich jsfiddle.
In meinem Fall war ich wickeln Sie das Formular in einem modalen erstellt, in dem controller und habe deswegen den gleichen Fehler. Ich fixierte es mit:
HTML
JS