Для того что бы на стороне клиента валидировать размер загружаемых файлов, нужно:
1 — Плагин для JQuery — jQuery Validation Plugin — http://jqueryvalidation.org
2 — В файл jquery.validate.min.js или любой другой добавить код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
(function ($) { $.validator.addMethod('filesize', function(value, element, param) { // param = size (en bytes) // element = element to validate (<input>) // value = value of the element (file name) var allSize = 0; $.each(element.files, function() { if(typeof(this.size) != 'undefined' ) { allSize += this.size; } }) return this.optional(element) || (allSize <= param) }, "Размер файла слишком большой"); }(jQuery)); |
3 — Теперь можно использовать правило валидации
1 2 3 4 5 6 7 |
(function ($) { $('form').validate({ 'rules': { 'name': { required: true }, 'files[]': { filesize: 1024*1024*8 } } }(jQuery)); |
Для input с name=files[] разрешено загружать в сумме не больше 8 мегабайт файлов.
Работает как с одиночным так и с multiple file полем.