Есть ли простой способ с Angularjs для проверки радиогруппы, которая была включена в дополнительную директиву?AngularJs Radiobox group Validation
Требования к валидации: Пользователь не может отправить, если только одно из радиобоксов не было нажато.
Вот как я построил его:
HTML документ:
<ng-form name="salutationgroup">
<radiotrigger model="mrms" name="gender" value='1' label="mr" ></radiotrigger>
<radiotrigger model="mrms" name="gender" value='2' label="ms" ></radiotrigger>
</ng-form>
JS документ:
Directives.directive('radiotrigger', function() {
return {
restrict: 'E',
scope: {},
compile: function(element, attrs) {
var templateText = '<li><label><input type="radio" ng-model="' +
attrs.model + '" value="' +
attrs.value + '">' +
attrs.label + '</label></li>';
element.replaceWith(templateText);
}
};
});
Большое спасибо за вашу поддержку.
Угадайте вы пропустили пройти атрибут 'name', поэтому можно выбрать только одно значение? С другой стороны, установите атрибут 'required', и ngForm получит классы' ng-invalid 'и 'ng-invalid-required' css, которые сообщают вам, что ваш ngForm действителен. – naeramarth7
@ naeramarth7, в то время как кажется, что это работает, похоже, что тогда всегда будет выбран переключатель, который не выбран, чтобы установить недопустимый [(plunk)] (http://plnkr.co/edit/ip0LqgIDqrn6cxYcPrJR?p=preview) –