4

根据此处 jquery.validate 插件的文档:http: //docs.jquery.com/Plugins/Validation/Methods/accept#extension

我可以检查文件的文件扩展名以验证文件扩展名,如下所示:

$("#myform").validate({
  rules: {
    field: {
      required: true,
      accept: "xls|csv"
    }
  }
});

但是,这似乎对该字段没有影响,我仍然可以将任何文件添加到我喜欢的字段中。“必需”验证确实适用于该字段,并且我在验证代码有效的页面上有其他字段 - 但是“接受”规则没有被应用。

JSFiddle 显示问题:http: //jsfiddle.net/SCgRr

4

2 回答 2

2

好的,因此文档已过时,您需要包含additional-methods.jslib 以及jquery.validate.

添加了缺少的库,一切都很好。

于 2012-12-01T00:43:53.180 回答
0

我有同样的问题 - 特别是"xls|csv"- 即使在包括additional-methods.js

注意这个新段落http://docs.jquery.com/Plugins/Validation/Methods/accept#extension

注意:此方法过去只查看文件名,特别是文件扩展名。该行为现在可作为附加方法中的“扩展”方法使用,与此“接受”方法本身相同。

accept现在指定 mimetype 并且extension特定于文件扩展名。像“pdf”这样的扩展可以工作——因为扩展和 mimetype 是一样的。但是 xls 和 csv 是文本,需要根据文件扩展名进行评估。

因此,按照新文档更改对我有用acceptextension

完整代码:

$("#myform").validate({
  rules: {
    field: {
      required: true,
      extension: "xls|csv"
    }
  }
});
于 2013-03-13T14:31:17.943 回答