AngularJSアプリの他の場所のロジックに依存する最小属性値と最大属性値を持つ多数の入力フィールドがありますが、これらの属性内でデータバインディングを使用すると、Angularによって検証されなくなりますが、HTML5検証ではそれらが選択されているように見えます上。
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)では、無効になると両方のフィールドが赤に変わるため、検証は引き続き正常に処理されますが、2番目のフィールドが無効な場合は送信ボタン(Angularで処理)は無効になりません。また、にあるように、には最小プロパティと最大プロパティはありませmyForm.two.$error
んmyForm.one.$error
。
誰かが私がどこで間違っているのか見ることができますか?