當我使用PrimeFaces命令按鈕PrimeFaces命令按鈕與默認命令按鈕
<p:commandButton action=#{bean.action} />
我沒有看到輸入驗證信息(包括默認h:
者或PrimeFaces p:
的。)例如與
<f:validateRequired />
當我使用默認的命令按鈕像
<h:commandButton action=#{bean.action} />
我確實看到驗證。造成這種差異的原因是什麼?
我使用的總理面臨3.5鑽嘴魚科2.1.18
<h:form id="reliefhourheadcopy-form">
<h:panelGrid columns="1">
<h:outputText value="Kopiere Entlastungsstunden von" />
<h:outputText value="Semester: #{reliefHourHeadManagedBean.reliefHourHead.semester}" />
<h:outputText value="Jahr: #{reliefHourHeadManagedBean.reliefHourHead.year}" />
<h:outputText value="nach" />
</h:panelGrid>
<h:panelGrid columns="3">
<h:outputText value="Semester:" />
<p:selectOneMenu id="semester" value="#{reliefHourHeadManagedBean.semester}">
<f:selectItems value="#{reliefHourHeadManagedBean.semesterTypes}" />
</p:selectOneMenu>
<h:message for="semester" />
<h:outputText for="yearSpinner" value="Jahr:" />
<p:spinner id="yearSpinner" value="#{reliefHourHeadManagedBean.year}" maxlength="4" min="2000" max="2030" size="4">
<f:validateRequired />
<f:validateLongRange minimum="2000" maximum="2030" />
</p:spinner>
<h:message for="yearSpinner" />
</h:panelGrid>
<h:panelGrid columns="1" style="margin-top:25px">
<p:commandButton action="#{reliefHourHeadManagedBean.copyReliefHourHead}" value="Kopieren" icon="ui-icon-copy" >
<f:param name="reliefhourhead_id" value="#{reliefHourHeadManagedBean.reliefHourHeadId}" />
</p:commandButton>
</h:panelGrid>
</h:form>
主要區別是'號碼:commandButton'是AJAX在默認情況下,和'H:commandButton'非AJAX默認。郵政編碼爲整個表格。也許你只是沒有使用primefaces按鈕更新驗證消息字段。 – partlov 2013-03-07 09:55:21
將'update =「@ form」'添加到'p:commandButton'並查看是否顯示錯誤消息。 – partlov 2013-03-07 10:02:50
感謝partlov,這是我需要的提示!更新=「@形式」是否有用。但也是ajax =「false」。如果我使用ajax =「false」, 也會正確更新。問候卡隆。 –
Caron
2013-03-07 10:15:24