【问题标题】:jquery validate text input array validates first field only [duplicate]jquery验证文本输入数组仅验证第一个字段[重复]
【发布时间】:2018-04-22 09:22:37
【问题描述】:

我有一组文本框来收集 5 个电子邮件地址。我使用 jQuery validate 来验证表单以接受电子邮件地址,不幸的是它只验证第一个字段。

虽然错误消息出现在其余字段中,但它允许表单提交。我需要这个问题的本地解决方案。

这里是sn-p的代码:

$(document).ready(function(){
   $('#myform').validate({
       rules:{
          "foo[]":{
               required:true,
               email:true
                }
       },
       messages:{
          "foo[]":{
               required:"required",
               number:'only numbers!!!'
                }
            }
        });
    });

这是表格:

 <form method="post" action="" id="myform">
        <input type="text" name="foo[]" value="">
        <input type="text" name="foo[]" value="">
        <input type="text" name="foo[]" value="">
        <input type="text" name="foo[]" value="">
        <input type="text" name="foo[]" value="">
        <input type="image" name="bar">
    </form>

【问题讨论】:

标签: javascript jquery forms jquery-validate


【解决方案1】:

这里是修复。您可以使用 Jquery 每个函数

$(document).ready(function(){
      $('#myform').validate({ // initialize the plugin
          // other options
      });

            $("[name^=foo]").each(function () {
            $(this).rules("add", {
                required: true,
                email:true,
                messages: {
                     required:"required"
                }
            });
        });
    });

表格应该是这样的:

    <form method="post" action="" id="myform">
        <input type="text" name="foo[1]">
        <input type="text" name="foo[2]">
        <input type="text" name="foo[3]">
        <input type="text" name="foo[4]">
        <input type="text" name="foo[5]">
    </form>

【讨论】:

  • 这个答案最相关的部分是每个文本输入字段上的唯一 name 属性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 2016-03-09
  • 2013-03-22
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多