Я пытаюсь проверить группу флажков, хотя требуется хотя бы один. Это HTML моих флажков:
<fieldset class="requiredcheckboxgroup">
<legend>How did you come into contact with VK?*</legend>
<input ng-model="application.contact.relations" group-required required type="checkbox" name="appcontact" value="relations" id="app-contact-relations" />relations<br>
<input ng-model="application.contact.employees" group-required required type="checkbox" name="appcontact" value="employees" id="app-contact-employees" contact-employees />employees<br>
<input ng-model="application.contact.employeesWho" type="text" placeholder="Who?" name="appcontact-employeeswho" id="app-contact-employees-who" disabled />
<input ng-model="application.contact.jobad" group-required required type="checkbox" name="appcontact" value="jobad" id="app-contact-jobad" />jobad<br>
<input ng-model="application.contact.website" group-required required type="checkbox" name="appcontact" value="website" id="app-contact-website" />website<br>
<input ng-model="application.contact.other" group-required required type="checkbox" name="appcontact" value="other" id="app-contact-other" />other<br>
</fieldset>
Как вы можете видеть, все мои флажки имеют обязательный атрибут и групповой обязательный атрибут. У меня есть такая директива:
angular.module('dxs-vkgroupApp').directive('groupRequired', group_required);
function group_required() {
return {
restrict: 'A',
link: function(scope, element, attr) {
var requiredCheckboxes = jQuery('.requiredcheckboxgroup :checkbox[required]');
requiredCheckboxes.change(function(){
if(requiredCheckboxes.is(':checked')) {
requiredCheckboxes.removeAttr('required');
}
else {
requiredCheckboxes.attr('required', 'required');
}
});
}
};
}
Проблема в том, что они должны быть выбраны все до того, как форма станет действительной... . Обязательный атрибут правильно удаляется, когда он выбран, но когда я пытаюсь отправить форму, он все еще недействителен.
Как я могу это исправить? Или есть лучший способ решить эту проблему?