使用jquery附加文件时,错误验证未按预期显示

时间:2015-10-19 20:46:01

标签: javascript jquery html jquery-validate

目前正在为自定义文件输入字段处理jquery验证器。用户单击单选按钮时,可以显示更多字段,如果用户在用户上传超过2 mb文件时单击附加按钮,如果用户尝试附加其他格式,则应该说你上传超过2mb文件的警报和不支持的格式是完全正常但我需要一个错误消息应该在表单的顶部。 您错过了1个字段。请在提交之前填写这不起作用。

这是当前的jquery代码

        $preview.hide();
    $(".checkfile").on("change", function(e){     
            var filename = this.value;
            var files = this.files;
            var URL = window.URL||window.webkitURL;
            var url = URL.createObjectURL(files[0]);
            $(this).closest('.row').find('.preview').attr("href", url).show();
            $(this).next('.check').prop("disabled", true);
            var myfile = $(this).val();    
            var ext = myfile.split('.').pop();
            if (ext == "pdf" || ext == "jpeg" || ext=="jpg") {
                $(this).next('.check').val(filename);
            } else {
                $(this).closest('.row').find('.preview').hide()
                alert('Invalid File Type')
                $(this).next('.check').val('');
                $(".checkfile").val('');
                e.preventDefault();
            }
            if(e.currentTarget.files[0].size>=1024*1024*2)
            { 
                alert('File Size cannot be more than 2 MB');
                $('.ctm_widt').val('');
                $('.custom-file-input').addClass("errRed");

                e.preventDefault();
                $(this).closest('.row').find('.preview').hide()
            }else{
                $('.custom-file-input').removeClass("errRed");
            }
        });

以下是fiddle link

提前致谢

请帮助我解决这个问题

0 个答案:

没有答案