【问题标题】:How to use jquery validate "depends" on rules other than "required"?如何使用 jquery 验证“取决于”“必需”以外的规则?
【发布时间】:2014-06-04 13:59:24
【问题描述】:

我可以在网上找到的每个“依赖”示例都使用“必需”规则。显然这还不够。如何将“depends”子句与“regex”规则一起使用?

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

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    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 复选框时”。

    在此处查看实际操作:http://jsfiddle.net/ryleyb/8Nsm3/

    【讨论】:

    • 你说得对,我看到了电子邮件示例,但它的工作方式与要求的相同,所以我忽略了它。您的 minlength 示例中的“参数”是我需要的,但在任何地方都找不到。谢谢!
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      相关资源
      最近更新 更多