Как использовать jquery. Validate с jquery.multiselect Dropdown?

Ситуация такая: пытаюсь добавить выпадающее поле с помощью плагина jquery.multiselect на форму, которая в данный момент использует плагин jquery.validate, которая имеет другие поля (поля ввода текста, одиночный текстовый ввод, который имеет диапазон значений float), которые все в данный момент валидируются правильно.

Когда я пытаюсь добавить правила валидации, я просто не могу заставить jquery.validate проверить мой выпадающий мультиселект. Вот фрагменты моего кода (все предполагает, что необходимые плагины загружены - см. ниже используемые версии):

HTML:

Input 1:
Input 2:
Input 3:
Select:

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

И, как всегда, я могу предоставить больше информации, если это возможно/необходимо.

9
задан Mattygabe 16 December 2011 в 19:55
поделиться