AngularJS中的ng-list长度验证

时间:2015-09-23 10:55:08

标签: angularjs angular-nglist

我需要验证ng-list,意味着应该限制用户输入三个以上的数组列表,如['121','565','435'],如果用户尝试输入['121','565','435','787'],则应该只输出3 {{1}可以进入。

此外,如果用户如上所述输入vin,则应该只允许3位数字。

这是我的输入字段:

['**1214**','565','435']

我是AngularJS的新手。

1 个答案:

答案 0 :(得分:0)

我不知道ng-list的默认验证属性,但您可以自定义验证,如

<input type="text" name="vin" id="vin" class="form-control"
                        ng-model="vm.user.vin" ng-list required max="3" ng-change="isBigEnough(vm.user.vin)" />

                    <span ng-show="vm.user.vin.length > 3">array length should below than three</span>
                    <span ng-show="IsElementLength">element length should below than three</span>

和您的控制器端代码

$scope.isBigEnough = function (values) {
        if (values != undefined) {
            values.every(function (element, index, array) {
                if (element.length > 3) {
                    $scope.IsElementLength = true;
                    return false;
                }
                $scope.IsElementLength = false;
                return true;
            })
        }

    }

结果

  
      
  • ['121','565','435'] - 没有错误消息
  •   
  • ['1211','565','435'] - 元素长度应低于3
  •   
  • ['121','565','435','543'] - 数组长度应小于3
  •   
  • ['1211','565','435','543'] - 数组长度应小于3且元素长度应小于3
  •   

我已将代码带到plunker,但我没有在plunker上测试它。