Я пытаюсь использовать плагин проверки jQuery для проверки формы, которую я имею в одном из моих приложений.
Форма (упрощенная) выглядит следующим образом:
<form id="my_form" action="#" method="post" novalidate="novalidate">
<input id="my_hidden_input" type="text" style="display:none;">
<input id="my_select_checkbox" class="checkbox" type="checkbox" value="1">
<select id="my_select_1" class="select valid" type="select">
<select id="my_select_2" class="select valid" type="select">
</form>
То, что я пытаюсь сделать, это проверить следующее: если флажок установлен, я проверяю, что значение выбрано в моем первом выборе, и если флажок не установлен, я проверяю выбранное значение моего второго списка.
Я попробовал что-то вроде:
$('#my_form').validate({ // initialize the plugin
rules: {
my_hidden_input:{
"checkboxSelect": true,
},
},
submitHandler: function (form) { // for demo
console.log($("#monitors_start").value);
return false;
}
});
jQuery.validator.addMethod(
"checkboxSelect",
function() {
if ($("#my_select_checkbox").attr('checked'))
return $("#my_select_1").val();
else
return $("#my_select_2").val();
}, "test addMethod"
);
Но, похоже, я не получаю это правильно... Если кто-нибудь может помочь, это будет очень полезно!
Благодаря !
Вы можете использовать параметр зависимости, например
var validator = $('#form').validate({
rules: {
my_select_1: {
required: {
depends: function () {
return $('#my_select_checkbox').is(':checked')
}
}
},
my_select_2: {
required: {
depends: function () {
return !$('#my_select_checkbox').is(':checked')
}
}
}
},
messages: {}
});
Демо: скрипка