在primefaces

时间:2015-08-27 15:32:54

标签: jsf file-upload primefaces messages growl

我在显示文件限制和文件类型验证错误信息时遇到问题。

我有文件上传组件:

<p:fileUpload fileUploadListener="#{someBean.handleFileUploadLeft}"
mode="advanced" auto="true" update=":messages
:Leftform:fileName :Leftform:deleteButton" sizeLimit="300000"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>

现在:

例如,当我上传大于300KB的文件时,我想在growl中获取无效的文件信息,而不是在组件下的messeges中。

有没有办法做到这一点? JQuery,CSS魔术呢?

我谷歌很多,我没有找到解决方案。 我也尝试实现自己的验证器,但没有成功,验证器没有启动。

有人可以帮忙吗?

xhtml的一部分:

<div class="container" style="text-align: center; margin-top: 20px">
    <p:growl id="messages"></p:growl>
    <div class="ui-grid">
        <div class="ui-grid-row">
            <div class="ui-grid-col-6"
                style="border: 1px solid #eeeeee; margin-right: 10px; border-radius: 4px">
                <h:form id="Leftform">
                    <h3 style="color: #125491">Zgłoszenie awarii</h3>

                    [...]

                    <p:panelGrid style="width: 490px; margin:auto">
                        <p:row>
                            <p:column style="width: 170px;">
                                <p:fileUpload
                                    fileUploadListener="#{issueUserDataBean.handleFileUploadLeft}"
                                    mode="advanced" auto="true" label="Dołącz obraz"
                                    update=":messages :Leftform:fileName :Leftform:deleteButton"
                                    sizeLimit="300000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
                                    invalidFileMessage="Obraz musi być w formacie: PNG, JPG, GIF "
                                    invalidSizeMessage="Obraz nie może przekroczyć 300KB" />

                            </p:column>
                            <p:column
                                style="width: 250px; max-width: 250px; overflow: hidden !important; text-overflow: ellipsis; padding-left: 0px !important; white-space: nowrap">
                                <h:outputText title="#{issueUserDataBean.leftFileName}"
                                    id="fileName" value="#{issueUserDataBean.leftFileName}" />
                            </p:column>
                            <p:column style="width: 34px; padding-right: 6px !important;">
                                <p:commandButton icon="ui-icon-close"
                                    disabled="#{issueUserDataBean.isLeftFileLoaded eq false}"
                                    title="Usuń obraz"
                                    actionListener="#{issueUserDataBean.handleFileDeleteLeft}"
                                    id="deleteButton" process="@this"
                                    update=":messages :Leftform:fileName :Leftform:deleteButton"
                                    styleClass="buttonSize">
                                </p:commandButton>
                            </p:column>
                        </p:row>
                    </p:panelGrid>

                    <p:panelGrid columns="2" style="margin:10px auto 0px">
                        <p:commandButton value="Dodaj zgłoszenie"
                            styleClass="buttonIssueUserSave"
                            action="#{issueUserDataBean.saveLeft}"
                            style="border: 1px solid #125491; color: #125491"
                            update=":Leftform :messages :IssueDataTableForm:IssueDataTable">
                        </p:commandButton>
                    </p:panelGrid>
                </h:form>
            </div>
        </div>
    </div>
</div>

0 个答案:

没有答案