我正在尝试使用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;
};
我无法让它工作,所以这段代码出了什么问题?
答案 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;
};
这是一个老问题,但可能会帮助别人。