2012-12-01 39 views
3

根據對jquery.validate插件這裏的文檔:http://docs.jquery.com/Plugins/Validation/Methods/accept#extensionjquery.validate.js - 驗證文件名

我可以檢查文件的文件擴展名,以驗證該文件的擴展名,例如:

$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     accept: "xls|csv" 
    } 
    } 
}); 

但是,這似乎對字段沒有影響,我仍然可以添加任何文件到我喜歡的字段。 '必需'驗證在字段上工作,我在驗證代碼工作的頁面上有其他字段 - 但'接受'規則只是沒有被應用。

的jsfiddle顯示問題:http://jsfiddle.net/SCgRr

+0

哪裏是你的HTML? – Sparky

+0

JSfiddle示例添加http://jsfiddle.net/SCgRr/ – CLiown

回答

2

確定這樣的文件是過時的,你需要包括additional-methods.js LIB以及jquery.validate

添加缺少的lib,一切都很好。與"xls|csv"明確 - -

0

我有同樣的問題,甚至包括additional-methods.js

注意這個新的段落http://docs.jquery.com/Plugins/Validation/Methods/accept#extension

注後:看慣了剛纔的文件名這種方法,特別是 文件延期。該行爲現在可作爲additional-methods.js中的「擴展」 方法使用,與此「接受」方法 本身相同。

accept現在指定mimetype並且extension特定於文件擴展名。像'pdf'的擴展工作 - 因爲擴展和mimetype是相同的。但是xls和csv是文本,需要根據文件擴展名進行評估。

因此,將每個新文檔更改爲acceptextension

全碼:

$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     extension: "xls|csv" 
    } 
    } 
});