我有许多数字输入字段,它们的最小值和最大值属性值取决于我的 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(引导程序)中处理得很好,因为两个字段在无效时都会变成红色,但是,当第二个字段无效时,提交按钮(由 Angular 处理)不会被禁用。myForm.two.$error
此外,在中没有 min 和 max 属性myForm.one.$error
。
谁能看到我哪里出错了?