【问题标题】:How do I make Richfaces component <rich:fileUpload> be required in form如何使表单中需要 Richfaces 组件 <rich:fileUpload>
【发布时间】:2015-10-18 17:02:48
【问题描述】:

我尝试将&lt;rich:fileUpload&gt; 添加到像this one 这样的richfaces 向导中,但是当我删除那些必需的输入字段(例如,在步骤1 中)时,如果未填写则会给出错误消息,而不会检查上传字段向导切换到下一个状态

【问题讨论】:

  • fileUpload 不像其他输入字段那样工作,它只是用于上传文件。你想验证什么?
  • 我想验证上传组件中是否有一个文件集,但我认为我必须使用 jsf-apache commons 方式

标签: jsf file-upload jsf-2 richfaces


【解决方案1】:

在 required="true" 对 rich:fileUpload (Richfaces 4) 不起作用,并且在 rich:fileUpload 本身 (https://issues.jboss.org/browse/RF-5177) 上添加自定义字段验证器之后,我最终添加了一个单独的隐藏字段并对此进行验证以检查文件是否已上传:

<rich:fileUpload id="richUpload" fileUploadListener="#{myForm.fileUploadListener}">
    <a4j:ajax event="uploadcomplete" execute="@none" render="uploadFilesCounter" />
</rich:fileUpload>
<h:inputHidden id="upload" value="#{myForm.uploadFilesCounter}">
    <f:validator validatorId="uploadFilesCounterValidator" />
</h:inputHidden>

在托管 Bean 中:

public void fileUploadListener(FileUploadEvent event) throws Exception {
    this.uploadFilesCounter = uploadFiles.size();
}

【讨论】:

    猜你喜欢
    • 2014-02-21
    • 2012-01-15
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 2015-01-06
    • 2011-07-08
    • 1970-01-01
    相关资源
    最近更新 更多