Ich möchte eine Fehlermeldung angezeigt werden, wenn der Benutzer auf Senden ohne Inhalt, und ich möchte die Übermittlungsschaltfläche deaktiviert werden. Ich kann entweder einen arbeiten, aber nicht beide gleichzeitig.Angularjs - wie NG-Nachricht erforderlich Fehler zu Anzeige und Deaktivieren der Eingabe Schaltfläche zur gleichen Zeit
Der folgende Code zeigt die Nachricht an, erlaubt aber einen leeren Todo-Eintrag.
<form name="todoForm" novalidate >
<div ng-messages="todoForm.new.$error" ng-if="todoForm.$submitted"><div ng-message="required">Add Your Item Below...</div></div><!--message appears until valid input is entered-->
<input type="text" name="new" placeholder="start typing..." autofocus data-ng-model="newTodo" required=""/>
<button input type="submit" ng-click="addTodo()" >Add To List</button><!--disables form if form not valid-->
</form>
Diese Version deaktiviert die Absenden-Button, sondern bringt die Nachricht nicht
<form name="todoForm" novalidate >
<div ng-messages="todoForm.new.$error" ng-if="todoForm.$submitted"><div ng-message="required">Add Your Item Below...</div></div><!--message appears until valid input is entered-->
<input type="text" name="new" placeholder="start typing..." autofocus data-ng-model="newTodo" required=""/>
<button input type="submit" ng-click="addTodo()" data-ng-disabled="todoForm.$invalid" >Add To List</button>
</form>
Ich nehme an, dies liegt daran, dass die Nachricht nicht angezeigt werden kann, wenn die Eingabe-Taste deaktiviert ist, weil nichts gewesen eingereicht?
Ich habe versucht mit $ deaktiviert und $ ungültig stattdessen, aber sie haben nicht funktioniert.
, es sei denn ich etwas fehle, was ich von diesem erhalten, dass 'ng-if = "todoForm $ vorgelegt."' Steht in Konflikt mit 'ng- messages = "todoForm.new. $ error" '. Wenn "ng-if" im selben div vorhanden ist, wird der Text "ng-message =" required "" nicht angezeigt. Wenn ich "ng-if" entferne, erscheint die erforderliche Nachricht: http://plnkr.co/edit/8pE3jmBNYRpPSvyJA0ys?p=preview –
ng-if = "todoForm. $ Submitted" steht in Konflikt mit data-ng-disabled = "todo.Form. $ ungültig" soweit ich sehen kann. Ihr Beispiel erzeugt nicht die ng-Nachricht, ist das nicht eine html5-Nachricht? – vtechmonkey