jQuery Validator不验证输入文件类型

时间:2013-05-09 06:38:37

标签: jquery validation jquery-validate jquery-validation-engine

我写了一个上传表单,我希望用户只能上传图片。 我决定使用jQuery验证器,以确保用户无法发送空表单,只能上传图像。到目前为止,用户确实无法发送空表单,但他们可以上传文件,即使它不是图像。 以下是旨在解决此问题的jsFunc.js代码:

$(document).ready(function () {
$('#upload-image').validate({
    errorElement : "span",
    errorPlacement: function(error, element) {
        error.appendTo(".upload-error");
    },
    rules: {
        pic: {
            required: true,
            accept: "image/*"
        }
    }
});
});

以下是包含上传表单的页面中包含的文件:

<script src="bootstrap/js/jquery.js"></script>
<script src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="sys/jsFunc.js"></script>
<script type="text/javascript" src="sys/additional-methods.js"></script>
<script type="text/javascript" src="sys/jquery.validate.js"></script>

上面的代码有什么问题?如果有人能指出我的问题,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

如果您尝试通过文件扩展名进行验证或仅接受具有特定扩展名的图片,则可以像这样使用

rules: {
   field: {
     required: true,
     extension: "jpeg|png"
   }
}

请参阅:http://docs.jquery.com/Plugins/Validation/CustomMethods/extension#extension

答案 1 :(得分:1)

脚本文件导入的顺序错误,jquery.validate.js首先是additional-methods.js

<script type="text/javascript" src="sys/jquery.validate.js"></script>
<script type="text/javascript" src="sys/additional-methods.js"></script>

答案 2 :(得分:0)

rules: {
   field: {
     required: true,
     accept: "jpeg|png"
   }
}

将延期替换为接受,它将会工作