Jump to content
  • 0

проверка размера файла в форме


cyklop77
 Share

Question

помогите пожалуйста советом

 

есть страница с формой. форма валидируется популярным плагином jqueryvalidation . проблема в том, что нужно проверять размер загружаемого файла, а у этого плагина нет нужного функционала

 

теоретически можно вставить проверку перед отправкой формы. но обработчик setDefaults имеет только invalidHandler и submitHandler

    $.validator.setDefaults({        invalidHandler: function(){             //console.log("not submitted!");        },        submitHandler: function(){            $( "#brief_form_new" ).submit();            //console.log("submitted!");        }    });    $().ready(function() {        $("#brief_form_new_test").validate({            rules: {                attachment: {                    required: false,                    extension: "doc,docx,txt,pdf,jpg,jpeg,png"                },                message_new: "required",                name_new: "required",                email_new: {                    required: true,                    email: true                },                phone_new: "required"            },            messages: {                attachment: "Неверный формат файла",                message_new: "Коротко опишите проект",                name_new: "Введите ФИО",                email_new: "Введите корректный адрес",                phone_new: "Введите телефон"            }        });    });
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

http://stackoverflow.com/questions/2966076/getting-file-size-in-javascript

function findSize() {    var fileInput =  document.getElementById("fUpload");    try{        alert(fileInput.files[0].size); // Size returned in bytes.    }catch(e){        var objFSO = new ActiveXObject("Scripting.FileSystemObject");        var e = objFSO.getFile( fileInput.value);        var fileSize = e.size;        alert(fileSize);        }}
Link to comment
Share on other sites

  • 0

http://stackoverflow.com/questions/2966076/getting-file-size-in-javascript

 

function findSize() {    var fileInput =  document.getElementById("fUpload");    try{        alert(fileInput.files[0].size); // Size returned in bytes.    }catch(e){        var objFSO = new ActiveXObject("Scripting.FileSystemObject");        var e = objFSO.getFile( fileInput.value);        var fileSize = e.size;        alert(fileSize);        }}

найти размер файла это не проблема. проблема в том, что в плагин, который уже валидирует форму непонятно как встроить эту проверку

Edited by cyklop77
Link to comment
Share on other sites

  • 0

А не надо в плагин встраивать, сделайте отдельную проверку и все.

аааа... понял. и запускать её перед запуском плагина. вариант. но сейчас я уже в азарт вошёл и хочу написать дополнительный метод к плагину. мой код выглядит так:

 

    $.validator.setDefaults({        invalidHandler: function(){             //console.log("not submitted!");        },        submitHandler: function(){            $( "#brief_form_new" ).submit();            //console.log("submitted!");        }    });    $.validator.addMethod("checkFileSize",function(value) {        // check filesize        return false;    }, "Размер файла превышен");        $().ready(function() {        $("#brief_form_new_test").validate({            rules: {                attachment: {                    required: false,                    checkFileSize: true,                    extension: "doc,docx,txt,pdf,jpg,jpeg,png"                },                message_new: "required",                name_new: "required",                email_new: {                    required: true,                    email: true                },                phone_new: "required"            },            messages: {                attachment: "Неверный формат файла",                message_new: "Коротко опишите проект",                name_new: "Введите ФИО",                email_new: "Введите корректный адрес",                phone_new: "Введите телефон"            }        });    });

пока он возвращает false в любом случае. но проблема в том, что должно выводиться сообщение 

Размер файла превышен

, а выводится

Неверный формат файла

 

почему так, кто подскажет?

Edited by cyklop77
Link to comment
Share on other sites

  • 0

вот эта ситуация в фиддле

 

проблема в том, что когда checkFileSize возвращает false , то выводится сообщение wrong format, но должно выводиться wrong filesize

Edited by cyklop77
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy