输入类型文件的 jQuery 验证
Posted
技术标签:
【中文标题】输入类型文件的 jQuery 验证【英文标题】:jQuery Validation for Input Type File 【发布时间】: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”
。这在文档中有详细说明。
我第一次使用验证器,我错过了这个。这是可能的,对吧?并且,感谢您的反对。它会提醒我在这里提出任何问题之前要深入挖掘。
【参考方案1】:
问题解决了!当我将 name 属性添加到输入时,它可以按我的意愿完美运行。自定义错误消息现已生效。
<input type="file" id="Logo" name="Logo" class="form-input-styled" required>
【讨论】:
以上是关于输入类型文件的 jQuery 验证的主要内容,如果未能解决你的问题,请参考以下文章
使用 jquery 验证引擎插件时输入 type="file" 不发送文件