Ich mag diesenWarum ist notwendig, binden html Eingabefelder mit ng-Modell Richtlinie habe eine Form
<form name="myForm">
<input name="myEmail" type="email"/>
{{myForm.$invalid}}
</form>
ich mit ng-Modell meines Eingabefeld binden, muß ein Formular zu validieren das Formular korrekt zu validieren . Warum kann AngularJs dieses Formular nicht einfach so validieren?
Sogar die Eigenschaft myForm.myEmail. $ Ungültig nur vorhanden, wenn ich die Eingabe mit ng-Modell binde. Warum ist das so?
Wenn die Validierung nur mit ngModel Richtlinie gibt, warum AngularJS geben Sie mir den Wert myForm. $ Ungültig-falsch? eine bessere Antwort wäre nicht undefined?
Gut gesagt. Um ein Gefühl dafür zu bekommen, was ngModel dir gibt, probiere das in deinem Formular aus (nachdem du 'ng-model' hinzugefügt hast):' {{myForm.myEmail}} '. Es gibt viele Eigenschaften, die auf einem normalen Eingabeelement ohne die 'ng-Modell'-Direktive nicht existieren. – Lex
Wenn die Validierung nur mit der ngModel-Direktive existiert, gibt mir angularjs den Wert myForm. $ Invalid to false? eine bessere Antwort wäre nicht undefiniert? –
Da der Formular-Controller diese Eigenschaften ($ invalid, $ valid, $ berührte, usw.) standardmäßig auf einige Werte initialisiert hat: https://github.com/angular/angular.js/blob/71cf28cf06295e0936f706c048bc07e6c963acc4/src/ng/directive /form.js#L76. Da jedoch keine Elemente (mit ngModel) im Formular registriert sind, kann der Validierungsstatus des Formulars geändert werden. – dfsq