4

我有一个通过 jQueryajaxSubmit()函数提交的表单。此表单包含一个文件控件,并且已提出一个可能的故障点,即如果所选文件在提交表单之前被重命名、删除或以其他方式无法访问,则表单可能会根据浏览器提交,也可能不会提交。虽然提交失败是预期的行为,但没有向用户指示表单提交失败或原因,这被认为是阻碍。更糟糕的是,在 IE 中,表单提交时没有任何文件数据;虽然我可以在服务器端捕捉到这一点,但如果表单根本不提交会更理想。

我知道 JavaScript 在能够了解有关文件系统的任何信息方面受到限制,并且我同样知道与跨浏览器兼容性有关的任何事情都存在一些不重要的问题。当表单提交失败或 jQuery 吞下它时,Firefox 似乎没有抛出任何异常。IE 不知不觉地蹒跚而行。我想看看是否有办法捕捉表单未提交或提交无效文件的事实。我还想在提交之前捕获文件字段是否有问题。

有任何想法吗?

4

1 回答 1

0

您总是可以使用 Struts2验证框架来验证文件对象。

fileUpload拦截器应用于您的操作,File在您提交表单时将对象设置为您的操作。

一旦你得到了对象而不是它,null你就可以继续进行某种验证。例如file.exists().

于 2013-04-15T13:59:06.727 回答