[英]show client validation message for input file upload size limit using jquery?
I am trying validate upload file limit to 2.5 mb max. 我正在尝试将上传文件限制限制为最大2.5 MB。 I need to show validation message on
<span class="field-validation-valid" data-valmsg-for="Attachement" data-valmsg-replace="true"></span>
when focus lost from the field. 当焦点从字段丢失时,我需要在
<span class="field-validation-valid" data-valmsg-for="Attachement" data-valmsg-replace="true"></span>
上显示验证消息。
right now I am validating at client side like this. 现在,我正在像这样在客户端进行验证。
<div class="col-sm-7">
<input class="form-control" id="Attachement" name="Attachement" type="file" value="">
<span class="field-validation-valid" data-valmsg-for="Attachement" data-valmsg-replace="true"></span>
</div>
var attachement = document.getElementById('Attachement');
attachement.onchange = function() {
var file = attachement.files[0];
if (file.size > 2621440) {
//Now Here I need to update <span>
alert('Filesize must 2.5mb or below'); // don't want alert message
}
};
<div class="col-sm-7">
<input class="form-control valid" data-val="true" data-val-required="The First Name field is required." id="FirstName" name="FirstName" placeholder="First Name" required="required" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true" style="color:Red"></span>
</div>
after validation 验证后
<div class="col-sm-7">
<input class="form-control input-validation-error" data-val="true" data-val-required="The First Name field is required." id="FirstName" name="FirstName" placeholder="First Name" required="required" type="text" value="">
<span class="field-validation-error" data-valmsg-for="FirstName" data-valmsg-replace="true" style="color:Red"><span for="FirstName" class="">
The First Name field is required.</span>
</span>
</div>
and also update css class from <input class="form-control"...
to <input class="form-control input-validation-error"...
to highlight the textbox to red. 并将css类从
<input class="form-control"...
为<input class="form-control input-validation-error"...
以将文本框突出显示为红色。
How to do in jquery? 如何在jQuery中做?
I don't know if there's a jQuery equivalent to file.size
, but you can simply get the DOM object from the jQuery object with .get()
and use the Javascript property. 我不知道是否有一个与
file.size
等效的jQuery,但是您可以使用.get()
从jQuery对象中获取DOM对象并使用Javascript属性。
$("#Attachement").change(function() {
var file = $(this).get(0);
if (file.size && file.size > 2621440) {
$(this).addClass("input-validation-error").siblings(".field_validation-valid").text("File must be smaller than 2.5MB.");
} else {
$(this).removeClass("input-validation-error").siblings(".field_validation-valid").empty();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.