jQueryvalidation – 需要工作但不接受
即时通过jquery上传图像并尝试validation它。 这是我的代码:
$(document).ready(function(){ $("#form").validate({ errorLabelContainer: "#message_box", wrapper: "li", rules: { image: {required: true, accept: "jpg|jpeg|png|gif"} }, messages: { image: {required: 'Required!', accept: 'Not an image!'} } }) });
必需是工作 – 如果我没有插入图像我得到一个错误。 但接受不起作用(任何我插入的通行证),我无法弄清楚为什么。 有任何想法吗? 🙂
你需要两件事。
(1)使用有效的语法来使用accept
方法,因为它要求您使用以逗号分隔的mimetypes列表。
$(document).ready(function(){ $("#form").validate({ errorLabelContainer: "#message_box", wrapper: "li", rules: { image: {required: true, accept: "image/jpg,image/jpeg,image/png,image/gif"} }, messages: { image: {required: 'Required!', accept: 'Not an image!'} } }) });
(2)您必须包含additional-methods.js
因为核心validation插件中不包含accept
方法。 因此,在包含validate插件后,请在添加以下内容
这是jsfiddle的链接 。 请注意,它包含debug: true
以防止在小提琴中发布表单。
1)如前所述,您需要包含additional-methods.js
文件。
2)对于文件扩展名,请使用extension
规则 。 accept
规则适用于mime类型。
$(document).ready(function(){ $("#form").validate({ errorLabelContainer: "#message_box", wrapper: "li", rules: { image: { required: true, extension: "jpg|jpeg|png|gif" } }, ... }) });
文档声明accept
规则只接受mime-types作为参数。
如果您想接受所有图像,请使用image/*
。
如果您只想接受特定的图像类型,则可以通过用逗号分隔多个mime类型来指定它们,例如image/pjpeg,image/jpeg,image/png,image/gif
。