Comment faire pour Utiliser jquery.Valider avec jquery.multiselect Déroulante?

Donc, la situation est ceci: en essayant d'ajouter une zone de liste déroulante à l'aide de la jquery.multiselect plugin sur un formulaire que les utilisations actuelles de la jquery.valider plugin qui a d'autres champs (champs de saisie de texte, seule la saisie de texte qui a un float plage de valeurs) que toutes les valider correctement.

Quand je tente d'ajouter des règles de validation, je ne peut tout simplement pas obtenir jquery.valider pour valider mon multiselect déroulante que ce soit. Voici des extraits de mon code (suppose que tous les plugins nécessaires sont chargés - voir ci-dessous pour les versions utilisées):

Le code HTML:

<form action="some/action" id="myForm" method="POST">
    Input 1: <input type="text" value="" name="input1" maxlength="200" id="input1"><br/>
    Input 2: <input type="text" value="" name="input2" maxlength="100" id="input2"><br/>
    Input 3: <input type="text" value="" name="input3" maxlength="50" id="input3"><br/>
    Select: <select class="someSelect" name="mySelect" id="mySelect" multiple="multiple">
        <option value="some_val1">Some Value</option>
        <option value="some_val2">Some Other Value</option>
    </select>
    <input type="submit" value="Submit" />
</form>

Le 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'
    });
});

Versions
Si il y a une explicite/problème connu avec la compatibilité entre les versions, alors je peut mettre à jour si cela résout le problème, mais je l'ai testé en utilisant les nouvelles versions pour mes besoins et il ne semble pas à résoudre mon problème.

jQuery: 1.4.4

jquery.valider: 1.9.0

jquery.multiselect: 1.8

Et, comme toujours, je peux fournir plus d'informations si possible/nécessaire.

OriginalL'auteur Mattygabe | 2011-12-16