使用jQuery Validate验证数组

时间:2017-05-20 07:13:10

标签: javascript jquery arrays validation

我正在尝试使用jQuery Validate插件验证数组。该数组有一个数字键,键号不是顺序的。这意味着,它可能是

cause[0] or cause[2] or cause[7]

Html代码

<form id="myform" action="submit.php">
  <select name="cause[0]" id="cause" class="cause">
    <option value="">Cause to Support</option>
    <option value="993">Medical</option>
    <option value="355">Children</option>
  </select>
  <select name="cause[2]" id="cause" class="cause">
    <option value="">Cause to Support</option>
    <option value="993">Medical</option>
    <option value="355">Children</option>
  </select>
  <input type="submit" name="submit" value="submit" />
</form>

演示 - https://jsfiddle.net/squidraj/afgmqf9g/3/

它没有验证并将表单提交到submit.php文件。在firebug错误控制台中也没有错误。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

试试这个Working Fiddle

<form id="myform" action="submit.php">
  <select name="cause[0]" id="cause" class="cause">
    <option value="">Cause to Support</option>
    <option value="993">Medical</option>
    <option value="355">Children</option>
  </select>
  <select name="cause[1]" id="cause1" class="cause">
    <option value="">Cause to Support</option>
    <option value="993">Medical</option>
    <option value="355">Children</option>
  </select>
  <input type="submit" name="submit" value="submit" id="btnSubmit" />
</form>

JQuery代码:

$("#myform").validate();
  $(".cause").each(function () {
      $(this).rules("add", {
          required: true,
          messages: {
            required: "Custom Message for required"
          }
      });
  });

  $("#btnSubmit").click(function(e){    
    var isValid= $("#myform").valid();  
    if(isValid==false){
    e.preventDefault();
    }
    else{
        alert("Validate Successful.");
    }
  });

答案 1 :(得分:0)

试试这个:

$("#myform").validate();
$(".cause").each(function (item) {
    $(this).rules("add", {
        required: true
    });
});

希望它会有所帮助