输入类型文件的jQuery验证

时间:2018-07-20 12:18:08

标签: c# jquery asp.net-mvc jquery-validate

我在窗体上使用jQuery验证,并带有几个文本框,下拉列表和文件输入。我还为扩展方法添加了extra_methods.js。除文件输入外,它运行完美。它显示必需的非自定义消息的默认错误消息,并且扩展部分也不起作用。

HTML:

<input type="file" id="Logo" class="form-input-styled" required>

jQuery:

$('.form-validate').validate({
    ignore: 'input[type=hidden], .select2-search__field',
    errorClass: 'validation-invalid-label',
    successClass: 'validation-valid-label',
    validClass: 'validation-valid-label',
    highlight: function (element, errorClass) {
        $(element).removeClass(errorClass);
    },
    unhighlight: function (element, errorClass) {
        $(element).removeClass(errorClass);
    },
    success: function (label) {
        label.addClass('validation-valid-label').text('Başarılı.');
    },
    errorPlacement: function (error, element) {
        if (element.parents().hasClass('form-check')) {
            error.appendTo(element.parents('.form-check').parent());
        }
        else if (element.parents().hasClass('form-group-feedback') || element.hasClass('select2-hidden-accessible')) {
            error.appendTo(element.parent());
        }
        else if (element.parent().is('.uniform-uploader, .uniform-select') || element.parents().hasClass('input-group')) {
            error.appendTo(element.parent().parent());
        }
        else {
            error.insertAfter(element);
        }
    },
    rules: {
        Logo: {
            required: true,
            extension: "png"
        }
    },
    messages: {
        Logo: {
            required: "Please select a business logo!",
            extension: "Please select a valid logo!"
        }
    }
});

1 个答案:

答案 0 :(得分:0)

问题解决了!当我将name属性添加到输入中时,它可以按照我的要求完美地工作。自定义错误消息现在正在起作用。

<input type="file" id="Logo" name="Logo" class="form-input-styled" required>