我必须应用文件大小上传验证
<input type="file" name="UserModel.Resume" id="UserModel.Resume" class="fileSize" data-val="true" data-val-required="The CV field is required." />
我有一个文件大小检查功能,
$('.fileSize').bind('change', function () {
var fileSize = this.files[0].size / 1024 / 1024;
if (fileSize > 3) {
$(this).addClass("input-validation-error");
} else {
$(this).removeClass("input-validation-error");
}
});
是否可以通过像
这样的功能进行验证data-val-function="SomeFunction()" //Some function which return true if valid else false
如果文件大小超过3 MB,我想限制提交表单,任何类型的帮助都会有所帮助。
答案 0 :(得分:0)
试试这个:
<input type="submit" onclick="e.perventDefault(); Validate()?this.forms.submit() : alert('Validation Error!')" />
答案 1 :(得分:0)
试试这个http://jsfiddle.net/lotusgodkk/GCu2D/37/
如果您的输入具有课程input-validation-error
,则表单将不会提交。相反,它会抛出错误信息。
使用Javascript:
$(document).ready(function () {
$(document).on('click', '.submit', function () {
var b = $(this);
var form = b.parents('form:first');
if (form.find('.input-validation-error').length) {
alert('error somewhere');
return false;
} else {
//your normal code
}
});
});
HTML:
<form method="post" action="temp">
<input type="file" name="UserModel.Resume" id="UserModel.Resume" class="fileSize input-validation-error" data-val="true" data-val-required="The CV field is required." />
<input type="submit" value="submit" class="submit" />
</form>
答案 2 :(得分:0)
鉴于您有验证功能的对象:
var validationFns = {
'customValidator': function() {
// do something
},
'customValidator2()': function() {
// do something
}
}
然后您可以在方法上添加数据属性,如:
data-val-function="customValidator"
或
data-val-function="customValidator2()"
并使用以下代码:
$('.fileSize').bind('change', function () {
var $this = $(this);
var validationFn = $this.attr('data-val-function');
if (validationFn && $.isFunction(validationFns[validationFn])) {
if (validationFns[validationFn]()) {
$this.removeClass('input-validation-error');
} else {
$this.addClass('input-validation-error');
}
} else {
var fileSize = this.files[0].size / 1024 / 1024;
if (fileSize > 3) {
$this.addClass('input-validation-error');
} else {
$this.removeClass('input-validation-error');
}
}
});