当我使用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