Ситуация такая: пытаюсь добавить выпадающее поле с помощью плагина jquery.multiselect на форму, которая в данный момент использует плагин jquery.validate, которая имеет другие поля (поля ввода текста, одиночный текстовый ввод, который имеет диапазон значений float
), которые все в данный момент валидируются правильно.
Когда я пытаюсь добавить правила валидации, я просто не могу заставить jquery.validate проверить мой выпадающий мультиселект. Вот фрагменты моего кода (все предполагает, что необходимые плагины загружены - см. ниже используемые версии):
HTML:
Javascript:
$(document).ready(function() {
$('#mySelect').multiselect({
noneSelectedText: 'Select Something (required)',
selectedList: 3,
classes: 'my-select'
});
$.validator.addMethod("needsSelection", function(value, element) {
return $(element).multiselect("getChecked").length > 0;
});
$.validator.addMethod("isPercent", function(value, element) {
return parseFloat(value) >= 0 && parseFloat(value) <= 100;
});
$.validator.messages.needsSelection = 'You gotta pick something.';
$.validator.messages.isPercent = 'Must be between 0% and 100%';
$('#myForm').validate({
rules: {
mySelect: "required needsSelection",
input1: "required isPercent",
input2: "required",
input3: "required"
},
errorClass: 'invalid'
});
});
Версии. Если существует явная/известная проблема совместимости между версиями, то я могу обновить версию, если это решит проблему, но я тестировал использование самых новых версий для моих целей и, похоже, это не решило мою проблему.
jQuery: 1.4.4
jquery.validate: 1.9.0
jquery.multiselect: 1.8
И, как всегда, я могу предоставить больше информации, если это возможно/необходимо.