我需要验证ng-list,意味着应该限制用户输入三个以上的数组列表,如['121','565','435']
,如果用户尝试输入['121','565','435','787']
,则应该只输出3 {{1}可以进入。
此外,如果用户如上所述输入vin
,则应该只允许3位数字。
这是我的输入字段:
['**1214**','565','435']
我是AngularJS的新手。
答案 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上测试它。