2014-07-26 50 views
0

驗證表單元素我有這樣的事情在這裏:不要求

<div class="col-md-4"> 
    <input type="number" class="form-control" ng-model="apMin" placeholder="0"> 
</div> 
<div class="col-md-2 text-center">-</div> 
<div class="col-md-4"> 
    <input type="number" class="form-control" ng-model="apMax" placeholder="0" ng-required="apMin < apMax"> 
</div> 

我現在需要的是要確保,即apMin不超過apMax高。我試過類似的東西:

ng-required="apMin < apMax" 

該字段不需要被需要,但更重要的是工作的邏輯。有人知道如何去實現它嗎?

回答

0

您可以嘗試在兩個變量上使用$ watch將該邏輯放入控制器中。

$scope.$watch("apMin", function(newVal, oldVal) { 
    if (newVal > $scope.apMax) { 
     alert("-Min cannot be greating then max"); 
     $scope.apMin = $scope.apMax - 1; 
    } 
    }); 

    $scope.$watch("apMax", function(newVal, oldVal) { 
    if (newVal < $scope.apMin) { 
     alert("+Min cannot be greating then max"); 
     $scope.apMax = $scope.apMin + 1; 
    } 
    }); 

看到這個Plunker

或者你可以嘗試只安裝在apMax文本框中NG-模糊和檢查,以確保apMax不小於apMin。

希望這會有所幫助。

1

您可以使用輸入的最小和最大屬性?

<input type="number" class="form-control" ng-model="apMin" placeholder="0" max="{{apMax-1}}"/> 

<input type="number" class="form-control" ng-model="apMax" placeholder="0" min="{{apMin+1}}"/> 
+0

是一個工作非常出色。我不確定,如果這是最好的解決方案,但至少它是我現在可以使用的解決方案。 thx非常多 – F1reball

0

結賬此鏈接min/max directives

你可以使用它們喜歡:

<input type="number" ng-model="value1" ng-min="minValue" name="value1"/> 
<input type="number" ng-model="value2" ng-max="maxValue" name="value2"/> 
+0

這個答案對你有幫助嗎?你能接受還是讚賞? – harishr