如何实现 jQuery 多选框的验证规则?

how to Implement jQuery Validation rule for multiselect box?

这是我的 html select 框(选项将通过 ajax 调用)具有 multiselect 功能和验证

<select id="chapterId" name="chapter[]" class="multiselect-ui form-control" multiple="multiple"></select>

$('#chapterId').multiselect({
        includeSelectAllOption: true
    });

var $validator = $("#orderPaper").validate({
            rules: {
                 'chapter[]': {required: true, min: 1},
            },
            messages: {
                'chapter[]': {required: "Please select chapter"},
            }
});

也 multiselect.js 被正确包含。 每次 'Please select chapter' 天气章节 select 是否编辑都会显示错误。 我还检查了章节是否正确 selected 我也可以获得 selected 章节 ID。 但是每次都显示 jquery 错误。

您只需要使用自定义验证规则。试试这个。

var $validator = $("#orderPaper").validate({
    rules: {
        'chapter[]': {required: true, needsSelection: true},
    },
    messages: {
        'chapter[]': {required: "Please select chapter", needsSelection: "Please select chapter"},
    }
});
$.validator.addMethod("needsSelection", function (value, element) {
    var count = $(element).find('option:selected').length;
    return count > 0;
});