- 转载自: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' ]
}); |