Javascript 如果文件大小大于非结构化验证,则限制表单提交
我必须应用文件大小uplaod验证Javascript 如果文件大小大于非结构化验证,则限制表单提交,javascript,jquery,asp.net-mvc,unobtrusive-validation,Javascript,Jquery,Asp.net Mvc,Unobtrusive Validation,我必须应用文件大小uplaod验证 <input type="file" name="UserModel.Resume" id="UserModel.Resume" class="fileSize" data-val="true" data-val-required="The CV field is required." /> 是否可以通过以下函数进行验证 data-val-function="SomeFunction()" //Some function which return
<input type="file" name="UserModel.Resume" id="UserModel.Resume" class="fileSize" data-val="true" data-val-required="The CV field is required." />
是否可以通过以下函数进行验证
data-val-function="SomeFunction()" //Some function which return true if valid else false
我想限制提交表格,如果文件大小大于3MB,任何类型的帮助都会有帮助 试试这个:
<input type="submit" onclick="e.perventDefault(); Validate()?this.forms.submit() : alert('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:
假设您有一个验证函数的对象:
var validationFns = {
'customValidator': function() {
// do something
},
'customValidator2()': function() {
// do something
}
}
然后可以在方法上添加数据属性,如:
data-val-function="customValidator"
或
并使用以下代码:
$('.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');
}
}
});
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');
}
}
});