我有以下指令
app.directive('postcode', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$parsers.unshift(function (val) {
var regex = /^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y]))) {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2}))$/,
valid = regex.test(val);
if(valid) {
ctrl.$setValidity('postcode', true);
return val;
}
else {
ctrl.$setValidity('postcode', false);
return undefined;
}
});
}
};
});
在一个也是必需的字段上
虽然所需位无缝工作(耶!) 邮政编码有效,但也显示所需的错误信息以及无效的
(由于某种原因,复制/粘贴dom元素会导致错误,但不会说什么)
答案 0 :(得分:0)
愿你有小提琴或傻瓜?
您如何看待所需的错误消息? 可能你的条件是显示它是错误的,你的指示有效吗?!
你的指令似乎很好。
答案 1 :(得分:0)
问题是,在我的setValidity
调用中,我使用的是一个角色使用的关键字,根据其规则等同于有效
我还能找到一个很好的明确规则列表,默认情况下附带角度