繁体   English   中英

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

[英]jquery.validate() trigger an event to check if a field in the form is valid

即时通讯使用jquery validate,我想知道是否有一种方法可以在调用其所有字段的验证方法之前仅检查表单的一个字段的验证:

var validator = $("#form").validate();
validator.form()

我要这样做是因为当用户上传文件时,此文件会自动上传到服务器,因此我想在将文件上传到服务器之前验证文件扩展名。

所以我想有这样的事情:

在我的HTML中:

<input type="file" id="linkIcon" name="linkIcon" data-url="/server/upload" required extension="jpg"> 

在我的JS中:

        $('input[type=file]').change(function(e){
                   if($this).valid()){
                   //Do stuff...
                   }
            }); 

更新:很好,但是现在我需要中止文件上传

这就是我使用jQuery fileupload的即时消息

$(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()函数之前检查文件的扩展名。 jsFiddle 在这里

 $('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...
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM