【发布时间】:2018-08-14 20:08:55
【问题描述】:
一旦用户开始填写输入,我就使用角度指令来更改表单输入的有效性:
angular.module('core').directive('serverError', function() {
return {
restrict: 'A',
require: '?ngModel',
link: function(scope, element, attrs, ctrl) {
element.on('input', function() {
scope.$apply(function() {
ctrl.$setValidity('server', true);
});
});
element.on('change', function() {
scope.$apply(function() {
ctrl.$setValidity('server', true);
});
});
}
};
});
我的表格是:
<input type="text" data-ng-model="request.lastname" name="lastname" required server-error/>
<div ng-show="form.lastname.$error.server">
<span>Please fill this field</span>
</div>
<input type="radio" data-ng-model="request.civility" name="civility" value="M" required server-error> M.
<input type="radio" data-ng-model="request.civility" name="civility" value="F" required server-error> Mme
<input type="radio" data-ng-model="request.civility" name="civility" value="MISS" required server-error> Mlle
<div ng-show="form.civility.$error.server">
<span>Please fill this field</span>
</div>
它适用于文本输入,但不适用于单选按钮。只有最后一个单选按钮按预期工作并使错误消失。
有解决这个问题的办法吗?
谢谢。
【问题讨论】:
标签: angularjs