Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript validate()触发事件以检查表单中的字段是否有效_Javascript_Jquery_Jquery Validate_Jquery File Upload - Fatal编程技术网

Javascript validate()触发事件以检查表单中的字段是否有效

Javascript validate()触发事件以检查表单中的字段是否有效,javascript,jquery,jquery-validate,jquery-file-upload,Javascript,Jquery,Jquery Validate,Jquery File Upload,我正在使用jquery validate,我想知道在调用表单所有字段的验证方法之前,是否有办法只检查表单中一个字段的验证: var validator = $("#form").validate(); validator.form() 我想这样做是因为当用户上传一个文件时,这个文件会自动上传到服务器,所以我想在上传文件到服务器之前验证文件扩展名 所以我想要一些类似于: 在我的HTML中: <input type="file" id="linkIcon" name="linkIcon" d

我正在使用jquery validate,我想知道在调用表单所有字段的验证方法之前,是否有办法只检查表单中一个字段的验证:

var validator = $("#form").validate();
validator.form()
我想这样做是因为当用户上传一个文件时,这个文件会自动上传到服务器,所以我想在上传文件到服务器之前验证文件扩展名

所以我想要一些类似于:

在我的HTML中:

<input type="file" id="linkIcon" name="linkIcon" data-url="/server/upload" required extension="jpg"> 
更新:正常,但现在我需要中止文件上传

这就是我使用jquery文件上传的即时通讯

$(function () {
    $('#linkIcon').fileupload({
        dataType: 'json',
        beforeSend: function(){
            if(!$('#linkIcon').valid()){
                alert("invalid extension");
                $(this)[0].abort(); 
            } 
        },
 done: function (e, data) {
        //SUCCESS
        alert("file uploaded");
        },
    replaceFileInput: false
});
});

在调用.valid()函数之前,可以检查文件的扩展名。 JSFIDLE


if($(this).valid())
应该可以-您的代码中有语法错误。您可以对单个元素以及整个表单使用
.valid()
方法。这对我很有效,谢谢,现在我正在处理在我的jquery文件函数中设置'beforeSend'参数的问题,以便在上传无效时中止上传。关闭打印错误原因,因为唯一的错误是缺少
。基本上,OP会问然后回答他自己的问题。问题是我不知道我可以使用这个方法,因为我是新使用这个插件的,不管怎样,请查看更新,如果你能帮我,我将非常感谢itUm,当我们已经有一个名为检查有效性的jQuery验证规则时,经历所有这些有什么意义d文件扩展名?换句话说,在使用验证插件自动检查文件扩展名之前,为什么要手动检查文件扩展名?是的,OP根据其HTML属性使用
扩展名
规则。
$(function () {
    $('#linkIcon').fileupload({
        dataType: 'json',
        beforeSend: function(){
            if(!$('#linkIcon').valid()){
                alert("invalid extension");
                $(this)[0].abort(); 
            } 
        },
 done: function (e, data) {
        //SUCCESS
        alert("file uploaded");
        },
    replaceFileInput: false
});
});
 $('input[type=file]').change(function (e) {

    var fileName = $(this).val().replace(/^.*[\\\/]/, '');//Gets the file name
    var isCorrectExtension = false;
    if (fileName != null) {
        var extension = fileName.substr((fileName.lastIndexOf('.') + 1)).toLowerCase();
        if (extension === 'jpg' || extension === 'jpeg')
            isCorrectExtension = true;
    }

    if (isCorrectExtension) {
        //Do stuff...
    }
});