Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果文件大小大于非结构化验证,则限制表单提交_Javascript_Jquery_Asp.net Mvc_Unobtrusive Validation - Fatal编程技术网

Javascript 如果文件大小大于非结构化验证,则限制表单提交

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

我必须应用文件大小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 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');
        }
    }
});