2020年3月16日

validate.js 验证上传,文件大小(非必填的上传域判断)


html

<div class="file-wrap w425" >
<input type="text" class="text" name="" value="" placeholder="文件格式为word/ppt/pdf,大小不超过15MB" />

<div class="txt">天丝#############.ai</div>
<div class="file-box">
<button type="button">上传</button>
<input type="file" accept=".doc,.docx,.ppt,.pdf" name="upfile1" value="" class="upfile Not-required" />
</div>
</div>

 

js


<script>
//上传
$('.upfile').change(function(){
//jquery获取input file文件名
var file = $(this).val();
var p = $(this).parents('.file-wrap');


var fileName = getFileName(file);
function getFileName(o){
var pos=o.lastIndexOf("\\");
return o.substring(pos+1); 
}
p.addClass('on');
p.find('.txt').html(fileName);
$(this).parents('.file-box').find('button').html('重新上传');
})
//上传文件 大小
jQuery.validator.addMethod("checkSize", function (value, element, param) {
//非必填的上传域判断
if($(element).hasClass('Not-required')){

//当没有上传的时候跳过验证
if($(element).val()==""){ return true;}
}
  var fileSize = element.files[0].size;
  if (fileSize > param) {
    return false;
  } else {
    return true;
  }
}, "文件不大于2M");

$("#reportForm").validate({
rules: {
type: {
required: true,
},
num:{
required: true,
number:true,
},
num1:{
required: true,
number:true,
},
num2:{
required: true,
number:true,
},
txt:{
required: true,
maxlength:100,
},
upfile:{
required: true,
checkSize:2 * 1024 * 1024,
}

},
messages: {
type: {
required: "请选择季度",
},
num:{
required: "请输入营业收入",
maxlength:"营业收入必须是数字",
},
num1:{
required: "请输入净利润",
maxlength:"净利润必须是数字",
},
num2:{
required: "请输入年度纳税额",
maxlength:"年度纳税额必须是数字",
},
txt:{
required: "请输入融资情况",
maxlength:"融资情况不超过100个汉字",
},
upfile:{
required: "仅支持excel格式文件,不大于2M!",
//isfile: "请上传财报附件",
}
},
errorPlacement : function(error, element) {

if (element.is(":checkbox")){
error.appendTo(element.parents(".tbl"));
}
else if(element.is(":file")){
error.appendTo(element.parents(".file-wrap"));

}
else{
error.appendTo(element.parent());
}
},
submitHandler:function(form){
alert("提交事件!");

}
});
</script>

本文由专业的WEB前端外包公司-切图网原创,转载请保留版权( WEB前端开发外包www.qietu.com切图网始于2007年,提供高品质的前端开发服务、前端外包、切图外包。欢迎来电咨询!热线:027-81777732、13343477732