在anjularjs中提交验证

时间:2015-07-07 11:51:55

标签: angularjs

假设我有以下代码: -

    <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,因为我需要在6之前添加3,4和5。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

ng-valid属性添加到input并实施一种方法,将输入valid设置为truefalse

<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
}

答案 1 :(得分:0)

这是一个完整的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;
     };
}]);