Validating multiselect with jquery validation plugin

后端 未结 2 1756
青春惊慌失措
青春惊慌失措 2020-12-21 09:15

Trying to figure out why my recipient multiselect isn\'t validating on form submission. Should be atleast 1 person chosen. I have it set to be required true but yet its stil

2条回答
  •  没有蜡笔的小新
    2020-12-21 09:33

    You can use the following code to validate the single selection required.

    The magic happens in this line:

    ignore: ':hidden:not("#mySelect")'
    

    It's necessary because as default jQuery Validate ignores hidden fields...

    HTML

    Select:

    Javascript/jQuery

    $(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.messages.needsSelection = 'You gotta pick something.';
    
        $('#myForm').validate({
        rules: {
            mySelect: "required needsSelection",
            input1: "required isPercent",
            input2: "required",
            input3: "required"
        },
        ignore: ':hidden:not("#mySelect")', // Tells the validator to check the hidden select
        errorClass: 'invalid'
        });
    });
    

提交回复
热议问题