easyUI filebox限定文件大小
阿新 • • 發佈:2018-12-15
mod 必須 blog cti else 文本 fix tool pro
- 轉載自:https://www.2cto.com/kf/201701/574667.html
- 侵刪
- easyui1.5filebox控件中增加文件大小的驗證規則
- 2017-01-07 09:22:00 來源:a307433749的專欄
- 收藏 我要投稿
代碼:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
$.extend($.fn.validatebox.defaults.rules, {
// filebox驗證文件大小的規則函數 // 如:validType : [‘fileSize[1,"MB"]‘]
fileSize : {
validator : function (value, array) {
var size = array[0];
var unit = array[1];
if (!size || isNaN(size) || size == 0) {
$.error( ‘驗證文件大小的值不能為 "‘ + size + ‘"‘ );
} else if (!unit) {
$.error( ‘請指定驗證文件大小的單位‘ );
}
var index = -1;
var unitArr = new Array( "bytes" , "kb" , "mb" , "gb" , "tb" , "pb" , "eb" , "zb" , "yb" );
for ( var i = 0; i < unitArr.length; i++) {
if (unitArr[i] == unit.toLowerCase()) {
index = i;
break ;
}
}
if (index == -1) {
$.error( ‘請指定正確的驗證文件大小的單位:["bytes", "kb", "mb", "gb", "tb", "pb", "eb", "zb", "yb"]‘ );
}
// 轉換為bytes公式
var formula = 1;
while (index > 0) {
formula = formula * 1024;
index--;
}
// this為頁面上能看到文件名稱的文本框,而非真實的file
// $(this).next()是file元素
return $( this ).next().get(0).files[0].size < parseFloat(size) * formula;
},
message : ‘文件大小必須小於 {0}{1}‘
}
});
|
使用方式:
html:
?1 |
< input name = "file" class = "easyui-filebox" validType = "fileSize:[10,‘MB‘]" >
|
js:
?1 2 3 4 5 6 7 8 9 10 |
$( ‘#file‘ ).filebox({
required : true ,
width : ‘300px‘ ,
multiple : true ,
validType : [ ‘fileSize[1024,"kb"]‘ ],
buttonText : ‘請選擇‘ ,
buttonAlign : ‘right‘ ,
prompt : ‘請選擇一個圖片類型的文件‘ ,
accept : [ ‘image/jpg‘ , ‘image/bmp‘ , ‘image/jpeg‘ , ‘image/gif‘ , ‘image/png‘ ]
});
|
easyUI filebox限定文件大小