2010-12-20 48 views
1

我想验证富里面的数据:modalPanel;我看到的行为很奇怪。rich:modalpanel关闭时没有验证

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

 <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> 

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

回答