我有这个过度简化的指令来获取电话号码,如果电话号码小于10位,我希望ng-model无效。我正在测试$ setValidity,但并不是说这不是一个函数。
angular.module('valkyrie').directive('phonenumber', function(){
return{
scope: {phonemodel: '=model'},
template: '<input ng-model="inputValue" type="tel" class="form-control">',
link: function(scope, element, attributes){
scope.$watch('inputValue', function(value, oldValue) {
value = String(value);
var number = value.replace(/[^0-9]+/g, '');
scope.phonemodel = number;
scope.phonemodel.$setValidity('phone', false);
console.log(scope.phonemodel);
});
},
}
});
答案 0 :(得分:0)
正如Aluan Haddad在评论中提到的,你需要在你的指令中要求describe("Number", function() {
it("Should return a string value", function() {
expect(name).to.be.a('string');
})
});
指令。这样您就可以访问ngModel
,然后就可以ngModelController
。
在此处查看有效的演示:http://codepen.io/miparnisari/pen/LxPoVw。
ngModelController.$setValidity