rich:modalPanel在没有验证的情况下关闭

时间:2010-12-20 10:36:18

标签: richfaces

我正在尝试验证rich:modalPanel中的数据;我看到的行为很奇怪。

我有一个下拉列表和一个添加按钮到该下拉列表,这是我第一次尝试通过单击添加按钮将数据添加到下拉列表时验证成功,一旦用户为第一个添加数据时怎么样?时间并尝试通过打开newAddUserDialog第二次输入新数据;现在当验证失败时,模态面板只是隐藏。即使我删除隐藏模态面板的代码(a4j:commadButton中的onComplete事件),只需单击按钮关闭窗口即可。

        <rich:modalPanel id="newAddUserDialog" autosized="true">

    <a4j:outputPanel id="addName_panel"
        styleClass="largePanel">

        <a4j:form>

            <rich:messages layout="list" showDetail="false"
                errorClass="validationError" />

            <h:panelGrid columns="2" cellpadding="10" cellspacing="10" width="100%">

                <h:outputLabel value="Name:" styleClass="label" />
                <h:inputText id="nameId"
                    value="#{formBean.name}" maxlength="32"
                    required="true" styleClass="width100">
                    <f:validateLength minimum="3" maximum="32" />
                </h:inputText>
            </h:panelGrid>

            <h:panelGrid cellpadding="10" cellspacing="10" width="100%">
                <h:panelGroup>
                    <a4j:commandButton id="addBtn" value="Add"
                        styleClass="stdButton" action="doAddUserName"
                        reRender="addName_panel, targetsMaster">

                        <rich:componentControl for="newAddUserDialog"
                            event="oncomplete"
                            operation="#{(!modelValidationMessages.hasMessages and empty facesContext.maximumSeverity) ? 'hide' : 'focus'}" />
                    </a4j:commandButton>

                    <a4j:commandButton id="addUser_cancel" value="Cancel"
                        styleClass="stdButton">
                        <rich:componentControl for="newAddUserDialog" event="onclick"
                            operation="hide" />
                    </a4j:commandButton>
                </h:panelGroup>
            </h:panelGrid>

        </a4j:form>

    </a4j:outputPanel>

</rich:modalPanel>

这种行为可能是什么原因?

1 个答案:

答案 0 :(得分:2)

是的,这是Richfaces团队解决的问题。请check this out