我有一个表单,我通过jQuery's .ajaxSubmit()
函数提交。此表单包含一个文件控件,并且它已被提出作为可能的失败点,如果在提交表单之前重命名,删除或以其他方式使文件不可访问,则表单可能会或可能不会基于浏览器提交。虽然未能提交是预期的行为,但没有指示用户表单未能提交或为什么,这被视为一个显示阻止。更糟糕的是,在IE中,表单提交时没有任何文件数据;虽然我可以在服务器端抓住这个,如果表单根本没有提交,那将更加理想。
我知道JavaScript在能够了解有关文件系统的任何内容方面受到限制,而且我同样意识到与跨浏览器兼容性有关的任何问题都存在一些不重要的问题。当表单提交失败或jQuery吞噬它时,Firefox似乎没有抛出任何异常。 IE不经意地蹒跚学步。我想看看是否有办法捕获表单未提交或提交无效文件的事实。我还想在提交之前捕获文件字段是否存在问题。
有什么想法吗?
答案 0 :(得分:0)
您始终可以使用Struts2 validation框架来验证文件对象。将fileUpload
interceptor应用于您在提交表单时将File
对象设置为您的操作的操作。一旦你得到了对象并且它不是null
,你可以进行某种验证。例如file.exists()
。