jquery validate accept方法 - TypeError:无法读取未定义的属性'call'

use*_*463 9 javascript jquery jquery-validate

我想使用validate插件检查上传文件类型.

但是我收到以下错误消息:

Uncaught TypeError: Cannot read property 'call' of undefined.
Exception occurred when checking element file, check the 'accept' method.
Run Code Online (Sandbox Code Playgroud)

这是我的表格.

<form id="upload" enctype="multipart/form-data">
    <div class="control-group">
        <div class="controls">
            <input id="file" name="file" type="file">
        </div>
        <div class="form-group">
            <button class="btn btn-primary" onclick="Submit()" type="button">Submit</button>
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的JavaScript:

var Submit=function(){
    var validator = $('#upload').validate({
        rules:{
            file: {
                required: true,
                accept: "audio/*, video/*"
            }
        },
        message: {
            file:"Invalid file type"
        }
   });

    validator.form();
}
Run Code Online (Sandbox Code Playgroud)

Jos*_* KG 27

要使用该"accept"方法,您需要包含jQuery Validate其他方法文件.只需在验证文件后包含它:

<script src="http://jqueryvalidation.org/files/dist/jquery.validate.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后尝试启动这样的验证器:

$(document).ready(function(){
    $("#upload").validate({
        ...settings...
    });
});
Run Code Online (Sandbox Code Playgroud)

并从按钮中删除onClick和type="button"属性.

以下是文档:

http://jqueryvalidation.org/validate/

  • 仍然出现错误:未捕获类型错误:无法读取未定义的属性“调用”。检查元素文件时发生异常,请检查“accept”方法。 (2认同)