Jquery Validate dropdown required if field empty

后端 未结 2 408
野趣味
野趣味 2020-12-30 05:00

I\'m trying to make the dropdown required if the #category field is empty.

Thanks!

JQUERY ATTEMPT #1:

$(\"#uploadDocsForm\").validate({
    r         


        
相关标签:
2条回答
  • 2020-12-30 05:36

    I appears that 'depends' is not supported anymore.

    I used the following and it works:

    <form name="uploadDocsForm" id="uploadDocsForm">   
        <label for="name">Document Name</label>
        <input name="name" id="name" type="text" class="textbox"/>
        <label for="cat_id">Category</label>
        <select name="cat_id" id="cat_id" class="dropdown">
        <option value="" selected>Please Select Category</option>
        <option>------------------------</option>
        <option value="1">test cat</option>
        </select>
        <label for="category">New Category</label>
        <input name="category" id="category" type="text" class="textbox"/>
        </form>
    

    Notice the option value="" which cause the validation to fail since val is empty

    $("#uploadDocsForm").validate({
        rules: {
            name: {
                required: true,
                minlength: 2,
                maxlength: 255  
            },
            cat_id: {
                required: true
                }
            }
        },
        messages: {
            name: 'Please enter a <b>Document Name</b>.',
            cat_id: 'Please select a <b>Category</b>.'
        }
    });
    
    0 讨论(0)
  • 2020-12-30 05:53
    $("#uploadDocsForm").validate({
        rules: {
            name: {
                required: true,
                minlength: 2,
                maxlength: 255  
            },
            cat_id: {
                required: {
                    depends: function(element) {
                        return $("#category").val() == '';
                    }
                }
            }
        },
        messages: {
            name: 'Please enter a <b>Document Name</b>.',
            cat_id: 'Please select a <b>Category</b>.'
        }
    });
    

    The depends function now checks if the category element is filled, and if so the second is required. Otherwise it is optional (meaning can be filled).

    Use Cases:

    • Category filled, cat_id empty : invalid
    • Category filled, cat_id filled : valid
    • Category empty, cat_id empty : valid
    • Category empty, cat_id filled : valid
    0 讨论(0)
提交回复
热议问题