2

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

此外,如果用户['**1214**','565','435']像上面那样输入,它应该告诉只允许 3 位数字。

这是我的输入字段:

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

我是 AngularJS 的新手。

4

1 回答 1

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'] - 元素长度应小于三
  • ['121','565','435','543']- 数组长度应小于三
  • ['1211','565','435','543']- 数组长度应小于 3 且元素长度应小于 3

我已经在plunker上带来了代码,但我没有在 plunker 上测试它。

于 2015-09-23T11:41:59.150 回答