【发布时间】:2014-11-19 05:48:38
【问题描述】:
我在 Wordpress 的 USP Pro 表单中使用 parsley.js。验证通常有效,但现在我正在尝试验证最大文件大小,但我真的不明白如何去做。
我找到了这些instructions,但无法让它工作。
这是我的代码:
<input type="file" data-parsley-error-message="This field is required" required="required" placeholder="File(s)" name="usp-files[]" multiple="multiple" data-filemaxsize="1.5" maxlength="255" class="file-input usp-input usp-input-files usp-clone" id="usp-multiple-files" data-parsley-id="3077">
window.ParsleyConfig = {
validators: {
filemaxsize: function (val, max_megabytes, parsleyField) {
if (!Modernizr.fileapi) { return true; }
var $file_input = $(parsleyField.element);
if ($file_input.is(':not(input[type="file"])')) {
console.log("Validation on max file size only works on file input types");
return true;
}
var max_bytes = max_megabytes * BYTES_PER_MEGABYTE, files = $file_input.get(0).files;
if (files.length == 0) {
// No file, so valid. (Required check should ensure file is selected)
return true;
}
return files.length == 1 && files[0].size <= max_bytes;
}
},
messages: {
filemaxsize: "The file cannot be more than %s megabytes."
}
};
window.Modernizr.addTest('fileapi', function() { return window.File && window.FileReader; });
window.BYTES_PER_MEGABYTE = 1048576;
jQuery(function($){
$('.usp-form').parsley();
});
我尝试上传 19 兆字节的图片,但没有任何反应。没有错误或任何东西,控制台中没有任何内容。
我错过了什么?
【问题讨论】:
-
这个 parsley 插件可能对遇到这个问题的人有用:github.com/happyDemon/ParsleyJS-LaraExtras(检查图像验证器)
标签: javascript validation parsley.js