Когда я использую командную кнопку PrimeFacesPrimeFaces Command Button vs. По умолчанию кнопки Command
<p:commandButton action=#{bean.action} />
Я не вижу сообщения о валидации для входов (как по умолчанию h:
те или PrimeFaces p:
из них.) Например, с
<f:validateRequired />
Когда я использую командную кнопку по умолчанию, как
<h:commandButton action=#{bean.action} />
Я вижу проверки. Что может быть причиной этой разницы?
Я использую Prime Faces 3.5 с Mojarra 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 по умолчанию, и' ч: commandButton' не является AJAX по умолчанию. Почтовый код для всей формы. Возможно, вы просто не обновили поле сообщений проверки с помощью кнопки «Перья». – partlov
Добавьте 'update =" @ form "' to 'p: commandButton' и посмотрите, отображаются ли сообщения об ошибках. – partlov
Спасибо, Partlov, который был подсказкой, в которой я нуждался! update = "@ form" делает трюк. Но также ajax = "false". Если я использую ajax = "false", также корректно обновляется . С уважением, карон. –
Caron