У меня есть многочисленные поля ввода чисел, которые имеют значения атрибутов min и max, которые зависят от логики в другом месте моего приложения AngularJS, но при использовании привязок данных в этих атрибутах они больше не проверяются с помощью Angular, однако проверка HTML 5 все еще, кажется, забирает их.
var myApp = angular.module('myApp', []);
function FirstCtrl($scope) {
$scope.min = 10;
$scope.max = 20;
}
<div ng-app="myApp">
<div ng-controller="FirstCtrl">
<form name="myForm">
<input type="number" name="one" required="required"
min="10" max="20" ng-model="one" />
<input type="number" name="two" required="required"
min="{{ min }}" max="{{ max }}" ng-model="two" />
<button ng-disabled="!myForm.$valid">Submit</button>
</form>
</div>
</div>
Текущая версия: http://jsfiddle.net/kriswillis/bPUVH/2/
Как вы можете видеть, проверка по-прежнему обрабатывается в HTML/CSS (Bootstrap), так как оба поля становятся красными, если они недействительны, однако кнопка отправки (обрабатываемая Angular) не отключается, когда второе поле инвалид. Кроме того, в myForm.two.$error
нет минимальных и максимальных свойств, как в myForm.one.$error
.
Кто-нибудь может увидеть, где я ошибаюсь?