关于验证:angularJS ng-pattern无效

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+$/;