2017-05-20 125 views
1

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

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文件。在萤火虫错误控制台中也没有错误。

任何帮助,高度赞赏。

+0

的可能的复制[如何验证的阵列输入使用验证p lugin jquery](http://stackoverflow.com/questions/24670447/how-to-validate-array-of-inputs-using-validate-plugin-jquery) – JYoThI

+0

没有用忽略。 https://jsfiddle.net/squidraj/afgmqf9g/7/ –

+0

@JYoThI我改变了checkForm函数的描述,但没有工作。 –

回答

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."); 
    } 
    }); 
+0

辉煌。我想知道是否可以添加自定义错误消息。 –

+1

非常好。非常感谢。 –

+0

有一个问题。由于这是在类名上进行验证,所以错误消息在最后一个类名后面添加。第一个选择框后面有几个输入元素,然后是第二个选择框。因此,如果我将第一个选择框留空并进行验证,则错误消息出现在最后一个选择框之后。 –

0

试试这个:

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

希望这将有助于

+0

我试过但没有工作。更新小提琴 - https://jsfiddle.net/squidraj/afgmqf9g/6/ –