Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可能有JQuery验证子集吗?_Jquery_Jquery Validate - Fatal编程技术网

可能有JQuery验证子集吗?

可能有JQuery验证子集吗?,jquery,jquery-validate,Jquery,Jquery Validate,在我的MVC5应用程序中,我使用JQuery验证来验证视图中的表单,该表单类似于下图 我使用JQuery验证来验证大多数表单,但是,我的问题是,当用户点击Add Proposal按钮时,我不希望验证验证两个下拉菜单,Consultant和Days Assigned,以检查用户是否选择了值 相反,我只想验证用户是否从两个下拉列表中选择了值,即“顾问”和“分配的天数”,只要他们点击“添加顾问”按钮。但是,当用户同时点击AddConsultant按钮时,我只希望验证两个下拉菜单,而不是表单的其余部分

在我的MVC5应用程序中,我使用JQuery验证来验证视图中的表单,该表单类似于下图

我使用JQuery验证来验证大多数表单,但是,我的问题是,当用户点击Add Proposal按钮时,我不希望验证验证两个下拉菜单,Consultant和Days Assigned,以检查用户是否选择了值

相反,我只想验证用户是否从两个下拉列表中选择了值,即“顾问”和“分配的天数”,只要他们点击“添加顾问”按钮。但是,当用户同时点击AddConsultant按钮时,我只希望验证两个下拉菜单,而不是表单的其余部分

<script>

    $(document).ready(function () {

        var validate = $('#frm').validate({
            onfocusout: function (element) {
                $(element).valid();
            },
            ignore: [], //Allows for validating hidden fields

            rules: {
                clientID: {
                    required: true
                },
                title: {
                    required: true
                },
                summary: {
                    required: true
                }
                //More rules 
                ,
            messages: {
                clientID: "Please select client.",
                title: "Please enter proposal title.",
                summary: "Please enter summary."
                //More messages

            },

            submitHandler: function (form) {
                form.submit();
            }
        });

        $("#btnAddConsultant").click(function () {
            //Need to validate two drop down menus only in here
        });

    });

</script>
目前,我的代码是这样的,它验证了表单的大部分内容

<script>

    $(document).ready(function () {

        var validate = $('#frm').validate({
            onfocusout: function (element) {
                $(element).valid();
            },
            ignore: [], //Allows for validating hidden fields

            rules: {
                clientID: {
                    required: true
                },
                title: {
                    required: true
                },
                summary: {
                    required: true
                }
                //More rules 
                ,
            messages: {
                clientID: "Please select client.",
                title: "Please enter proposal title.",
                summary: "Please enter summary."
                //More messages

            },

            submitHandler: function (form) {
                form.submit();
            }
        });

        $("#btnAddConsultant").click(function () {
            //Need to validate two drop down menus only in here
        });

    });

</script>
但我现在只需要在单击btnAddConsultant按钮时验证两个下拉菜单

请问有什么可以帮助或建议我怎么做


谢谢您的帮助。

您不应该将.valid方法放在.validate方法中的回调中。用this.elementelement替换$element.valid。另外,当您动态显示/隐藏下拉列表时,请查看添加和删除规则的详细信息。@Sparky谢谢您的建议。