我正在使用带有 valdr 的 ui-select。我使用以下指令来修补名称属性问题,并且 ui-select 的 valdr 有效,但是当我更改 ui-select 值时,它不会更新消息。那就是表单元素保持在 ng-invalid 状态。同样的事情适用于其他不使用 ui-select 的输入。
这是我的指令:
angular.module('app').directive('input', function () {
var count = 0;
return {
restrict: 'E',
compile: function () {
return {
pre: function (scope, element, attrs) {
// if the input is created by ui-select and has ng-model
if(element.hasClass('ui-select-search') && attrs.ngModel) {
var nameAttr = element.parent('.ui-select-bootstrap').attr('name');
var idAttr = element.parent('.ui-select-bootstrap').attr('id');
if(nameAttr){
attrs.$set('name', nameAttr);
}
if(idAttr){
attrs.$set('id', idAttr);
}
}
}
}
}
}
});