【发布时间】:2018-12-28 18:10:53
【问题描述】:
我在我的表单上使用 jQuery 验证,带有几个文本框、下拉列表和一个文件输入。我还为扩展方法添加了 additional_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!"
}
}
});
【问题讨论】:
-
name属性对于正在验证的字段是必需的。这也是您放入rules对象的内容;不是身份证。name=“Logo”。这在文档中有详细说明。 -
我第一次使用验证器,我错过了这个。这是可能的,对吧?并且,感谢您的反对。它会提醒我在这里提出任何问题之前要深入挖掘。
标签: c# jquery asp.net-mvc jquery-validate