<div ng-app="">
<div ng-controller="MyCtrl">
<input required type="number" ng-model="teams.length" min="1" max="9">
<span>pressing backspace to remove the number causes an exception</span>
<div ng-repeat="team in teams track by $index">
team {{$index+1}}
</div>
</div>
Auslöser Range beim Binden Eingang
function MyCtrl($scope) {
$scope.teams = [{}];
}
drücken Backspace im Eingang Array.length bewirkt, dass die Ausnahme:
RangeError: Invalid array length
at setter (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:9982:12)
at token.fn.extend.assign (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:9429:18)
at $setViewValue (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:16390:7)
at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:15654:14
at Scope.$eval (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11576:28)
at Scope.$apply (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11676:23)
at HTMLInputElement.listener (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:15653:13)
at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:2562:10
at Array.forEach (native)
at forEach (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:300:11)
Was ich stattdessen für den Eingang passieren möchte fehlgeschlagene Authentifizierung (ng-invalid). Ich bin mit Winkel 1.2.16
Dank. Übrigens gibt es einen bestimmten Grund, warum Sie in diesem Fall ng-required = "true" statt einfach "required" wählen? –
Sie haben Recht, "erforderlich" hat die gleiche Wirkung; Ich bevorzuge "ng-required", um sicher zu sein, aber in diesem Fall ist es überflüssig. –