Jsf 2 Primefaces对话框客户端验证未显示
我在复合控件上有一个Primefaces 5.0模式对话框。对话框中有几个字段标记为必需。当单击对话框上的按钮时,我预期会触发客户端验证,并且似乎会触发,因为没有调用支持bean,但消息没有显示:Jsf 2 Primefaces对话框客户端验证未显示,jsf-2,primefaces,modal-dialog,Jsf 2,Primefaces,Modal Dialog,我在复合控件上有一个Primefaces 5.0模式对话框。对话框中有几个字段标记为必需。当单击对话框上的按钮时,我预期会触发客户端验证,并且似乎会触发,因为没有调用支持bean,但消息没有显示: <p:dialog id="dialogCorporateShareHolder" header="Shareholder (Company)" widgetVar="dlgCorporateShareHolder" modal="true"> <p:panelGr
<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>
对话框显示,验证被调用(我很确定),但没有显示任何消息
您只需更新
p:message
或家长,例如使用
update="corporateShareholders corporateShareholderDetails"
顺便说一句,我相信最好的做法是
- 让对话框在xhtml中最后一个,在其他表单之外
- 在对话框内部有一个窗体
。几乎每天都会有人问这样一个问题:“我希望某些组件会被ajax更新,尽管我没有在
中指定它”,我们需要一个规范的dupe。@SeanCoetzee很高兴它能工作,这些东西可以看不见。。。id=corporateShareholders的组件是什么?只是一些列表?是的,只是一个数据网格。我很想这样做,但我的对话框在一个复合控件中,它已经在一个表单中。不用担心,因为它已经对您起作用了,我只是想提醒自己:)在你的评论之后,我开始有其他相关的问题,并最终将对话框移动到它们自己的形式。好多了,谢谢。