jquery验证文本输入数组仅验证第一个字段

时间:2017-11-09 11:38:25

标签: javascript jquery forms jquery-validate

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

虽然其他字段会显示错误消息,但它允许表单提交。我需要解决这个问题的原生解决方案。

以下是代码段:

$(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>

1 个答案:

答案 0 :(得分:2)

这是修复。你可以使用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>