如何使用jquery验证"取决于"除了"必需"?

时间:2014-06-04 13:59:25

标签: jquery validation

"的每个例子都取决于"我可以在网上找到使用" required"规则。显然这还不够。我如何使用"依赖"例如,a" regex"规则?

我有两个单选按钮,如果选中一个,我正则表达式验证文本框。如果选择了另一个,我就不在乎文本框中的内容。

2 个答案:

答案 0 :(得分:15)

2nd example in the documentation uses email

$(".selector").validate({
  rules: {
    contact: {
      required: true,
      email: {
        depends: function(element) {
          return $("#contactform_email:checked")
        }
      }
    }
  }
});

总之,该规则说"联系是必需的,如果选中#contactform_email复选框,则必须是电子邮件地址"。

因此,如果你想用正则表达式(或任何需要参数的规则方法)来做这件事,它看起来像这样:

        minlength: {
            param:6,
            depends: function (element) {
                return $('#len').is(':checked');
            }
        }

其中说"最小长度为6但仅在选中#len复选框并且#34;。

在此处查看此行动:http://jsfiddle.net/ryleyb/8Nsm3/

答案 1 :(得分:0)

您也可以在如下规则中直接使用 function() :

rules: {
    "field_name": {
        required: function () {
            return $('#len').is(':checked');
        },
    },
}
......
......