繁体   English   中英

jQuery验证组中的要求不起作用

[英]Jquery validate require from group not working

验证插件的此功能遇到一些麻烦: http : //jqueryvalidation.org/require_from_group-method

表格的相关部分:

<input class="org-group" type="checkbox" name="org[1]" id="org[1]" value="on">
<input class="org-group" type="checkbox" name="org[2]" id="org[2]" value="on">
<input class="org-group" type="checkbox" name="org[3]" id="org[3]" value="on">

此复选框列表是动态的。 它可能有2个条目或50个条目,这就是为什么我在表单中使用数组。 我希望该插件确保已选中org-group类中的xxx复选框之一。

我在插件中使用它:

$( "#orgform" ).validate({
  rules: {
    org[]: {
      require_from_group: [1, ".org-group"]
    },

但是,它不起作用。 无论选中多少盒子,表单都将提交。 “提交处理程序”工作正常。 我还有此格式的其他一些必填字段。 如果未填写这些字段,则验证运行良好。

我究竟做错了什么?

您需要确保已引用了所有必需的JQuery库。 如果仅使用核心库,则验证将无法进行。

确保您还引用了another-methods.min.js

小提琴的例子

拥有所有必需的引用后,您将需要修改html内容,以便所有复选框都具有相同的name 如果所有名称都是唯一的,验证将不起作用。 这些ids显然必须保持唯一。

更新的HTML

<form id="orgform">
  <input class="org-group" type="checkbox" name="org" id="org[1]" value="on">
  <input class="org-group" type="checkbox" name="org" id="org[2]" value="on">
  <input class="org-group" type="checkbox" name="org" id="org[3]" value="on">
  <input class="org-group" type="checkbox" name="org" id="org[4]" value="on">
  <input type="submit" value="Validate">
</form>

请注意,所有checkboxesname均为“ org”。

更新html后,更新调用以validate引用“ org”而不是“ org []”。 如果您检查控制台,则会注意到以下错误:

Uncaught SyntaxError: Unexpected token [

这是因为rules属性不接受[]

随着html的更改,您还需要更新JQuery。

更新的JQuery:

$("#orgform").validate({
  rules: {
    org: {
      require_from_group: [1, ".org-group"]
    }
  }
});

注意:请参阅上面链接的Fiddle示例,以获取工作示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM