angularJS ng-pattern not working
请看一看抢劫犯。
http://plnkr.co/edit/dutfyblvbbpkcivrznyjg?P=预览
其中ng模式regex不适用于输入文本字段。
只有在需要验证的情况下才能正确应用。
HTML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <body ng-controller="tableController"> <form name="test"> <span ng-bind="model.caption"></span> <input name="input{{$index}}" ng-model="data[model.name]" ng-disabled="model.isDisabled" minlength="{{model.minlength}}" maxlength="{{model.maxlength}}" ng-show="model.isShow" ng-pattern="model.pattern" ng-required="true" /> <br /> {{data[model.name]}} </form> <br /> <br /> </body> |
JS:
1 2 3 4 5 6 7 8 9 10 | angular.module("app", []).controller("tableController", function ($scope) { $scope.regEx ="/^\\d+$/"; $scope.data = {}; $scope.data.one = 234; $scope.data.two = 32432; $scope.models = [ { name:"one", caption:"cOne", isDisabled: false, isShow: true, minlength: 2, maxlength: 10, pattern:"/^\d+$/" }, { name:"two", caption:"cTwo", isDisabled: false, isShow: true, minlength: 2, maxlength: 5, pattern:"/^\d+$/" }, ]; }); |
有什么建议吗??
-谢谢
将正则表达式赋值更改为以下值。因为它应该是正则表达式。如果您在双引号中提到,那么它将成为一个字符串。
1 | $scope.regEx = /^\d+$/; |