如何在jquery.validate.js规则中使用IF ELSE条件

时间:2011-06-23 07:03:57

标签: jquery validation forms

如何在Jquery验证中使用RUle函数中的IF ELSE条件。

我在一些字段中使用一个表单,需要选项1,并且选项2需要一些字段。

实施例

对于下面的代码,我需要选项1的名称和地址,以及选项2的名称和URL。如何使用IF / Else条件。

 $(document).ready(function(){      
        $("#demo-form").validate({    
          rules: {
            name: "required",
            address: "required",
            url: "required url",
            integer: {
        required:true,
        integer:true,
        min: 5
        },
       }
       });

5 个答案:

答案 0 :(得分:1)

您可以使用内联if语句:

$(document).ready(function(){      
        $("#demo-form").validate({    
          rules: {
            name: someCondition ? "required" : "notrequired",
            address: "required",
            url: "required url",
            integer: {
        required:true,
        integer:true,
        min: 5
        },
       }
       });

someCondition评估过于布尔值,例如:($('selectedOption').val() == 1)

注意:在notrequired的位置放置任何不正确的属性时的名称。

答案 1 :(得分:0)

sZipCode: page.langID == 1 ? {required: true, minlength: 5, number: true, range: [1, 79999]} : {required: true, minlength: 5, number: true, rangesk: [1000,9999,80000, 99999]},

答案 2 :(得分:0)

depends: function(element) {
                if ($(("#selectid option:selected").val() == '3').is(':checked')){
                    code:"required";
                    creditLimit:"required";
                    depositAmont:"required";
                    idProofNumber:"required";
                    identyProof:"required";
                        "panNumber"{panNumber:true;}
                        return true;
                }else{return false;}
                },

答案 3 :(得分:0)

这个问题显然已经过时了,但我相信它仍然具有现实意义。当前的Jquery Validate插件包含允许在创建所需字段之前满足条件的语法。例如,如果您希望仅在选中复选框时才需要字段,则您将使用:

$( "#myform" ).validate({
    rules: {
        email: {
            required: "#other:checked"
        }
    }
});

注意:此处必须选中ID为other的复选框,以便输入所需的属性name='email'

或者,您可以在rules对象中编写一个函数,以在需要单独的元素之前检查另一个元素的值。例如:

$( "#myform" ).validate({
    rules: {
        age: {
            required: true,
            min: 3
        },
        parent: {
            required: function(element) {
            return $("#age").val() < 13;
            }
        }
    }
});

注意:此处,对于需要属性name='age'的输入字段,具有属性name='parent'的输入字段的值必须小于13。在此函数中传递元素参数非常重要。

这两个例子都是针对Jquery Validation Plugin的网站拍摄的,这里是链接:https://jqueryvalidation.org/required-method/

答案 4 :(得分:-1)

为什么不这样做:

$(document).ready(function () {
    $("#demo-form").validate({
        rules: {
            <% if (option1=true) { %>
            name: "required",
            <% } %>
            address: "required",
            url: "required url",
            integer: {
                required: true,
                integer: true,
                min: 5
            },
        }
    });