У меня есть следующая форма в p:outputPanel
<h:form id="someForm">
<p:panel id="panel" header="HEADER">
<h:panelGrid columns="5">
<h:outputLabel value="Name:" for="name" />
<p:inputText id="name" value="#{userBean.name}" required="true"
requiredMessage="ASD" label="name" maxlength="15">
<f:validateLength minimum="10"></f:validateLength>
<p:ajax event="blur" update="inputValidationMessage" />
</p:inputText>
<p:message id="inputValidationMessage" showDetail="true" for="name"
display="icon" />
<p:watermark for="name" value="e.g Jill" />
</h:panelGrid>
<p:commandButton value="Save" update="panel"
actionListener="#{userBean.doSomething}">
</p:commandButton>
</p:panel>
</h:form>
Я ожидаю, что когда элемент inputText
теряет фокус и его содержимое имеет длину менее 10 символов, рядом с ним отображается сообщение ASD
. Однако в случае неудачной проверки происходит только значок красного креста. Сообщение ASD
отсутствует. Изменение showDetail
на showSummary
также не работает.
Во-вторых, commandButton
звонит userBean.doSomething
:
UserBean # йоЗотеЬЫпд:
public void doSomething(ActionEvent actionEvent) {
RequestContext context = RequestContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_WARN,
"Summary",
"Detail"));
FacesContext.getCurrentInstance().addMessage(null, facesMessage);
context.addCallbackParam("booleanVar", true);
}
FacesMessage не отображается.
Я использую JSF2.0 с Primefaces 3.0 в Weblogic 12.1.
Любая помощь приветствуется.