您现在的位置:首页 >> 前端 >> 内容

easyui1.5filebox控件中增加文件大小的验证规则

时间:2017/1/7 9:22:00 点击:

  核心提示:代码:$.extend($.fn.validatebox.defaults.rules, { // filebox验证文件大小的规则函数 // 如:validType : [fileSize[1,...

代码:

$.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:

<input name="file" class="easyui-filebox" validType="fileSize:[10,'MB']">  

js:

$('#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' ]  
});

Tags:EA AS SY YU 
作者:网络 来源:a307433749