【问题标题】:jquery validation only for visible controlsjquery 验证仅适用于可见控件
【发布时间】:2009-11-26 07:56:28
【问题描述】:

我正在使用 jquery 验证来进行必填字段验证。

$("#registerform").validate();

这也会触发隐藏的控件。

例如:当用户在注册表单中选择How you find us?中的Others选项时,需要填写其他选项的文本框。

但即使控件被隐藏,它也会触发。

在jquery验证中怎么做?

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    我之前没有使用过 jQuery 验证,但根据the doco 有一个可以将 jQuery 选择器传递给的忽略字段。通过使用:visible 选择器,您应该能够做到这一点。

    我相信这就是你所追求的

    $("#registerform").validate({ignore:":not(:visible)"});
    

    【讨论】:

    • 不会 .validate({ ignore: ":hidden" }) 做同样的事情吗?恕我直言,这更容易阅读。
    • @nillis - 更重要的是,它也是当前的默认值。
    【解决方案2】:

    您可以尝试将:visible 添加到选择器本身:

    $("#registerform :visible")
    

    【讨论】:

    • 这将使它验证表单是否可见,而不是表单中的单个字段。
    • 这个帮了我我的选择器是这样的:$('input.required :visible').each(function() {...};
    • @fyjham 这不是真的,因为两个选择器都用空格分隔,:visible 将获取表单内的所有可见元素。
    【解决方案3】:

    也请尝试这种方式

     if ($(#registerform).is(":visible")) {
          $(#registerform).validate();
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-25
      • 2013-07-30
      • 2011-12-08
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多