angularjs ui-validate对我不起作用

时间:2014-04-09 11:37:58

标签: javascript angularjs

我正在尝试使用ui-utils中的angularjs ui-validate但它不起作用。 ui-utils.js已加载到页面中,但是当我调试时,我看不到指令内的任何停止。这是我的代码:

<div class="col-md-8">
   <input type="text" class="form-control form-control-cool input" ng-model="name"
           name="name" placeholder="Introduce la matricula" required
           ng-pattern="/(\d{4}[\D\w]{3}|[\D\w]{1,2}\d{4}[\D\\w]{2})/"
           ui-validate="{blacklist : 'notBlackListed($value)' }"/>
   <span ng-show="warehouseForm.name.$error.pattern">Formato de matricula incorrecto. Formato valido: 1111XXX</span></div>

和我的控制器中的功能(它是一个例子的副本)

var notBlackListed = function (value) {
            var blacklist = ['bad@domain.com', 'verybad@domain.com'];
            return blacklist.indexOf(value) === -1;
        };

我无法让它工作,所以这段代码出了什么问题?

1 个答案:

答案 0 :(得分:3)

功能&#34; notBlackListed&#34;必须在$ scope中可见,而不是在&#34; private&#34;控制器的范围改为:

    $scope.notBlackListed = function (value) {
        var blacklist = ['bad@domain.com', 'verybad@domain.com'];
        return blacklist.indexOf(value) === -1;
    };

这是一个老问题,但可能会帮助别人。