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>
可能是这种行为的原因是什么?