JQuery Проверка загрузки файла
Я пытаюсь проверить загрузку файла HTML с помощью jQuery Validate
Я нашел, что могу использовать мета-параметр, например:
$("#myform").validate({
meta: "validate"
})
<input type="file" name="upload" class="{validate:{required:true,accept:'docx?|pdf'}}" />
Но он не работает. Мне нужно добавить класс required
. Тогда проверка типа файла тоже не будет работать. Нужно ли делать что-то дополнительно?
Ответы
Ответ 1
Если вы хотите использовать jQuery validate
для проверки размера размера, вы можете сделать это, создав этот метод:
$.validator.addMethod('filesize', function(value, element, param) {
// param = size (in bytes)
// element = element to validate (<input>)
// value = value of the element (file name)
return this.optional(element) || (element.files[0].size <= param)
});
Вы бы использовали его так:
$('#formid').validate({
rules: { inputimage: { required: true, accept: "png|jpe?g|gif", filesize: 1048576 }},
messages: { inputimage: "File must be JPG, GIF or PNG, less than 1MB" }
});
Ответ 2
Вы можете добавить метод проверки для выполнения
jQuery.validator.addMethod("uploadFile", function (val, element) {
var size = element.files[0].size;
console.log(size);
if (size > 1048576)// checks the file more than 1 MB
{
console.log("returning false");
return false;
} else {
console.log("returning true");
return true;
}
}, "File type error");
И используйте его так:
$(document).ready(function(){
$('#quote_form').validate({
rules: {
image: {
required: true,
extension:'jpe?g,png',
uploadFile:true,
}
}
});
});
Надеюсь, это поможет вам.
Ответ 3
Вы читали и пробовали это следующим образом: http://docs.jquery.com/Plugins/Validation/Methods/accept#extension?
Я имею в виду вместо того, чтобы добавлять правила проверки в класс, вы пытались просто добавить их в validate init?