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