我为输入构建了一些自定义指令。 如果输入的值无效,我想使用它们并显示错误消息。 因此,每个ng消息都显示在条件“form.input。$ dirty”上。
如果我点击使用我的自定义指令的输入它会变脏。但我认为不应该。使用required或/和max的输入不显示消息且不脏。所以我建议错误在我的指令中。
一个自定义指令:
{
restrict: 'A',
require: 'ngModel',
scope: {
ngModel: '=',
countryCode: '<'
},
link: function (scope, element, attrs, ctrl) {
middlewareConfigService.getCountries().then(function (response) {
scope.countries = response.data;
ctrl.$validate()
})
var isValidBic = function isValidBic(value) {
if (!value)
return true;
value = value.toUpperCase();
if (!(value.length === 8 || value.length === 11)) {
return false;
}
if (scope.countryCode) {
return value.substring(4, 6) === scope.countryCode
}
if (scope.countries) {
return scope.countries.filter(function (country) {
return country.key === value.substring(4, 6)
}).length > 0;
}
return true;
};
ctrl.$validators.ngBic = function (modelValue) {
return isValidBic(modelValue);
};
}
}
缺少什么?指令是问题吗?
提前谢谢
答案 0 :(得分:1)