簡體   English   中英

在JQuery Validate中驗證多個“以數組命名的”文件輸入和下拉菜單

[英]Validating multiple “array named” file inputs and dropdowns in JQuery Validate

我已經搜索了很多有關此信息,但尚未找到任何解決方案。 我想在JQuery validate中驗證多個名為文件的數組輸入和下拉列表。

<td> <input type="text" class="times" name="times[]" /> </td>
</tr>
<tr>
<td> <input type="text" class="times" name="times[]" /> </td>
</tr>
<tr>
<td> <input type="text" class="times" name="times[]" /> </td>
</tr>

我添加了這樣的JQuery驗證代碼:

$("#formname").validate(
    {
    rules:{
        times:{required:true, digits:true}
    }}
    );

但是,無論是否輸入了第二個或第三個輸入字段,它都僅驗證第一個輸入並顯示錯誤消息。

我不想更改此“ times []”名稱,因為功能取決於此。 只有我想要使用JQuery驗證進行驗證。

有什么竅門嗎?

任何幫助,將不勝感激。

謝謝

插件無法很好地處理具有相同名稱的字段。 這是我在應用程序中解決問題的方法。

我給所有重復字段指定了不同的名稱,並將驗證方法的名稱放在類中。

<td> <input type="text" class="times required digits" name="times[0]" /> </td>
</tr>
<tr>
<td> <input type="text" class="times required digits" name="times[1]" /> </td>
</tr>
<tr>
<td> <input type="text" class="times required digits" name="times[2]" /> </td>
</tr>

您可以在使用以下代碼提交之前刪除索引:

$("#formname").validate({
    ...
    submitHandler: function(form) {
        $(form).find(":input[name*='[']").each(function() {
            this.name = this.name.replace(/\[\d+\]/, '[]');
        }
        form.submit();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM