0

我在某些复选框验证方面遇到问题。我为此使用插件验证:http: //bassistance.de/jquery-plugins/jquery-plugin-validation/

我有三个复选框,并且必须至少勾选一个。这些复选框的初始表单代码是:

<input type="checkbox" checked name="check_options" value="News">News
<input type="checkbox" checked name="check_options" value="Events">Events
<input type="checkbox" checked name="check_options" value="Promotions">Promotions

验证规则是:

$("#commentForm").validate({
            rules: {
                email_options_name: {
                    required: true
                },
                email_options_company: {
                    required: true
                },
                email_options_country: {
                    required: true
                },
                email_option_email: {
                    required: true,
                    email: true
                },
                check_options: {
                    required: true,
                    minlength: 1
              }
            },      
        });

此处对 check_options 的验证工作正常。但是,处理表单的 php 脚本只会打印最后一个复选框的值(因此,如果勾选了两个或三个,则只发布最后一个值)。

我修改了我的输入名称来解决这个问题:

<input type="checkbox" checked name="check_options[]" value="News">News
<input type="checkbox" checked name="check_options[]" value="Events">Events
<input type="checkbox" checked name="check_options[]" value="Promotions">Promotions

这显示了帖子中的所有值。但是我无法让验证为它工作。如果我输入我的规则:

check_options[]: {
                required: true,
                minlength: 1
          }

我收到一个 Javascript 错误:SyntaxError: missing : after property id

如果我不带方括号,则不会发生验证。

谢谢你的帮助!

4

1 回答 1

1

像这样使用 HTML:

<input type="checkbox" checked name="check_options[]" value="News" required minlength="1">News
<input type="checkbox" checked name="check_options[]" value="Events">Events
<input type="checkbox" checked name="check_options[]" value="Promotions">Promotions

和 javascript-

 check_options: {
            required: true,
            minlength: 1
      }
于 2013-05-17T16:19:23.257 回答