Скажем, у меня есть следующие коды: -
<form name="table" ng-submit="createtable()">
<input type="number" ng-model="tab.num" required></input>{{win.numR}}
<button>Save</button>
</form>
Я буду добавлять число в этом порядке (1,2,3,4,5,6). То, что я хочу достичь, например,
У меня есть вход 1,2, а затем, когда я ввожу 6, он не позволяет мне добавить 6, потому что мне нужно добавить 3, 4 и 5 до 6.
Спасибо за помощь.
Здесь полный Plunkr, чтобы помочь вам.
http://plnkr.co/edit/1GK1JjFLoCJQd4K3l6eh?p=preview
Я использую ui-validate для упрощения. Я предлагаю использовать этот модуль для упрощения вашего кода проверки.
var application = angular.module("validator", ["ui.validate"]);
application.controller("ValidatorExampleController", ['$scope', function($scope) {
$scope.numberStationValidationFn = function(value) {
if(angular.isUndefined(value)) {
return true;
}
for(var i = 1; i <= value.length; i++) {
if(value[i - 1] != i) {
return false;
}
}
return true;
};
}]);
Добавьте к вашему input
атрибут ng-valid
и реализуйте метод, который будет устанавливать значение, valid
для true
или false
:
<input type="number" ng-model="tab.num" ng-valid="inputIsValid(tab.num)" required>
В вашем контроллере:
$scope.inputIsValid = function(str) {
// check if str is valid and return true or false
}