【发布时间】:2014-04-30 23:48:07
【问题描述】:
我有一个带有文件上传控件和一些字段的 XPage。我使用服务器端验证(某些字段需要查找等来验证内容)。现在,如果用户指定要上传的文件并且其他字段之一无法验证(向用户显示消息),则 fileupload 控件将丢失其客户端名称(实际上是文件) - 这意味着用户必须选择再次上传文件。
关于如何解决这个问题的任何想法?上传的温度可以吗?文件被“保存在内存中”,例如视图 bean - 然后在其他字段的验证没有失败时“注入”回来?
这个问题与这里提出的相同问题有关:How can I "keep" the uploaded image on a form validation error? - 它没有提供上述解决方案(尽管确实讨论了临时文件)。
【问题讨论】:
-
Sven Hasselbach 就该问题发表了 2 篇系列文章:hasselba.ch/blog/?p=1019
-
Oliver,只是为了确保我理解您的建议:我可以使用 Sven 的想法来禁用其他字段的验证,对吗?但是我仍然需要验证其他字段...
-
是的,它在使用文件上传和删除操作时禁用其他字段的验证。您也可以尝试仅保存文档 onChange - 可能作为临时文档(它的标志字段在验证后“真实”保存后被删除。
-
在 ND9 中,IBM 改变了一些内部对象,这就是为什么这个技巧只适用于 Domino
-
我不知道XPages,但大体思路是把上传的文件保留在服务器上,并添加一个包含指向文件的指针的隐藏字段。它可能是临时文件的部分路径。这是 Ruby on Rails 中的一个示例,但在 XPages 中也必须如此:github.com/carrierwaveuploader/…
标签: java validation file-upload xpages