Jquery验证csv文件

时间:2013-04-06 03:55:42

标签: jquery jquery-validate

我尝试在用户上传文件时使用扩展名/格式CSV验证csv文件

<script type="text/javascript">
$(document).ready(function() {
    $('#form1').validate({
        rules: { csv: { required: true, accept: "csv"  }},
        messages: { csv: "File must be CSV" }
    }); 
});
</script>

<form action="product_import.php?action=import" method="POST" name="form1" id="form1" enctype="multipart/form-data">
<input name="csv" type="file" id="csv" />
</form>

但问题是,当我上传带有扩展名csv的文件时,此错误消息将显示File must be CSV,我不知道为什么即使我设置为accept: "csv",此脚本也无法接受。

我的csv文件名是product.csv

2 个答案:

答案 0 :(得分:6)

The accept rule不适用于文件扩展名,适用于Mime类型。

您可能想要使用the extension rule instead

DEMO:http://jsfiddle.net/c5R3b/

$(document).ready(function () {

    $('#form1').validate({
        rules: {
            myfield: {
                required: true,
                extension: "csv"
            }
        }
    });

});

但是,这两条规则都要求包含additional-methods.js file

答案 1 :(得分:2)

这里有一些适用于普通JS方法的东西。 可能对某人有帮助,

if( document.getElementById("csv").value.toLowerCase().lastIndexOf(".csv")==-1) 
{
        alert("Please upload a file with .csv extension.");
        return false;
}