Wie jquery Verwenden.Validierung mit jquery.multiselect Dropdown?

Also die situation ist diese: versuchen Sie zum hinzufügen eines dropdown-box über der jquery.multiselect plugin auf einem Formular, dass die aktuellen Verwendungen der jquery.überprüfen plugin, dass andere Felder (text-input-Felder, einzelne Texteingabe, hat eine float Wertebereich), dass alle derzeit validieren richtig.

Wenn ich versuche, fügen Sie Validierungsregeln hinzu, die ich einfach nicht gehen und jquery.überprüfen, um zu bestätigen meine multiselect dropdown löschen. Hier sind Ausschnitte von meinem code (alle davon ausgegangen, dass die erforderlichen plugins geladen werden - siehe unten für Versionen verwendet):

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>

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

Versionen
Wenn es eine explizite/bekannte Problem mit der Kompatibilität zwischen den Versionen, dann kann ich aktualisieren, falls sich das Problem damit lösen, aber ich habe getestet mit den neuesten Versionen für meine Zwecke und es schien nicht zu lösen mein Problem.

jQuery: 1.4.4

jquery.überprüfen: 1.9.0

jquery.multiselect: 1.8

Und, wie immer, ich kann mehr Informationen liefern, wo es möglich/nötig.

InformationsquelleAutor Mattygabe | 2011-12-16
Schreibe einen Kommentar