2012-10-29 43 views
-1

HTML驗證一些與jQuery文件輸入字段驗證插件

<div id="multadpic"> 
    <input type="file" name="adpic[]" /> 
</div> 

我有這個div後一個按鈕,我可以添加無限文件的輸入,如:

<div id="multadpic"> 
    <input type="file" name="adpic[]" /> 
    <input type="file" name="adpic[]" /> 
    <input type="file" name="adpic[]" /> 
    <input type="file" name="adpic[]" /> 
    <input type="file" name="adpic[]" /> 
</div> 

我怎麼會驗證它使用jQuery驗證插件?考慮到我不能在規則中寫方括號,但輸入的名稱有方括號。

我發現的一個解決方案是在插件後編寫自己的驗證(但我不知道是否它會工作,或者如果它是圍繞一個蹩腳的工作):

jQuery('#myForm').validate(
{ 
    rules: 
    { 
     //my rules 
    }, 

    messages: 
    { 
     //my messages 
    }, 

    submitHandler: 
    { 
     //my file input validation 
    } 
}); 

我已經讀了很多關於這個問題,但沒有回答解決了我的需求。

在此先感謝您的關注。

+0

你想要做什麼類型的驗證?爲什麼你不能跳過括號? – doublesharp

+0

我需要驗證文件擴展名,只接受'jpg | jpeg | png'和文件大小。是否可以跳過括號?我不知道.. –

+0

爲了避免括號使用'\\ ['而不是'['和'\\]'而不是']' – st3inn

回答

1

方括號不是.validate()插件的問題。您必須簡單地將包含特殊字符的name放在引號中。

工作演示

http://jsfiddle.net/grVmG/

jQuery的

$(document).ready(function() { 

    $('#myform').validate({ 
     rules: { 
      "field[]": { 
       required: true, 
       minlength: 5 
      } 
     }, 
     messages: { 
      "field[]": { 
       required: "this is required", 
       minlength: "must be at least {0} characters" 
      } 
     } 
    }); 

}); 

HTML

<input type="text" name="field[]" />