p:消息不在p:对话框中显示

时间:2013-03-11 11:51:50

标签: jsf user-interface jsf-2 primefaces

在p:对话框中addCommodityDlg我有一些文本字段。我正在尝试显示这些字段的验证消息。 但是没有实现它。

代码:

    <p:dialog id="addCommodityDlg" widgetVar="createCommodity"
                   width="625" height="400" modal="true" header="Add Items">  

          <h:panelGrid columns="3">
             <h:outputLabel value="ID" />
             <h:inputText value="#{deliveryOderController.selectedCommodity.commodityId}" 
                          id="commodityIdTF" required="true"  />
             <p:message for="commodityIdTF"/>

             <h:outputLabel value="Name"/>
             <h:inputText value="#{deliveryOderController.selectedCommodity.commodityName}"
                          id="commodityNameTF"/>                                                                                   
             <p:message for="commodityNameTF"/>
          </h:panelGrid>

          <p:commandLink  styleClass="saveButtonLnk"  
                          actionListener="#{deliveryOderController.saveItems}" 
                          update=":createDOForm:transportUnitPnl">                    
         </p:commandLink>
  </p:dialog>  

如何在p:对话框中显示验证消息?

1 个答案:

答案 0 :(得分:5)

为这些p:message个组件添加ID,并将其放入p:commandLink的更新中:

<p:dialog id="addCommodityDlg" widgetVar="createCommodity"
                   width="625" height="400" modal="true" header="Add Items">  
             ...
             <p:message id="commodityIdTFMessage" for="commodityIdTF"/>
             ...
             <p:message for="commodityNameTF" id="commodityNameTFMessage" />
          </h:panelGrid>
          <p:commandLink  styleClass="saveButtonLnk"  
                          actionListener="#{deliveryOderController.saveItems}" 
                          update=":createDOForm:transportUnitPnl commodityIdTFMessage commodityNameTFMessage">                    
         </p:commandLink>
</p:dialog>