Primefaces对话框客户端验证未显示

时间:2014-08-27 06:15:48

标签: jsf-2 primefaces modal-dialog

我在复合控件上有一个Primefaces 5.0模态对话框。该对话框有一些标记为必需的字段。当单击对话框上的按钮时,我希望启动客户端验证,并且它似乎是因为未调用辅助bean,但消息未显示:

<p:dialog id="dialogCorporateShareHolder" header="Shareholder (Company)" 
    widgetVar="dlgCorporateShareHolder" modal="true">
    <p:panelGrid columns="3" id="corporateShareHolderDetails">

        <h:outputLabel for="companyName" value="Company name"/>

        <p:inputText id="companyName" required="true" 
           value="#{cc.attrs.corporateShareHolder.companyName}" 
           label="Company name"/>

        <p:message for="companyName"/>

        <f:facet name="footer">
            <p:commandButton id="submitCorporate" value="Submit" 
               update="corporateShareholders"
               actionListener="#{cc.attrs.controller.addCorporateShareHolder}"/>
        </f:facet>
    </p:panelGrid>

</p:dialog>

显示对话框,调用验证(我很确定),但不显示任何消息。

Dialog box after the submit button is pressed

1 个答案:

答案 0 :(得分:1)

您只需要更新p:message或父级,例如

update="corporateShareholders corporateShareholderDetails" 

顺便说一下。我认为最好的做法是

  • 将对话框放在xhtml中,在其他表单之外
  • 在对话框中有一个表单