Ваш параметр установлен только на 5
$('#form').validate({
rules: {
image: {
....
filesize: 5, ...
Это 5 БАЙТОВ , поэтому, конечно, вы получите сообщение об ошибке для любого файла размером 98 кБ или3,8 МБ.Поскольку оба они имеют размер больше 5 байт, они не соответствуют вашему пользовательскому правилу, которое допускает только файлы меньше , чем 5 байт.
Попробуйте 5242880
, если вы хотите разрешить файлы размером менее 5 МБ.
filesize: 5242880 // <- 5 MB
$.validator.addMethod('filesize', function(value, element, param) {
return this.optional(element) || (element.files[0].size <= param)
}, 'File size must be less than {0} bytes');
$(function($) {
"use strict";
$('#form').validate({
rules: {
image: {
//required: true,
extension: "jpg,jpeg,png",
filesize: 5242880 // <- 5 MB
}
},
});
});
<form id="form" method="post" action="">
<input type="file" name="image" />
<input type="submit" value="Upload" />
</form>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>