我尝试使用Primefaces
<p:clientValidator>
与
一起<p:message>
但没有任何成功。消息根本不显示。这是我的.xhtml的片段:
<h:form id="systemLogTable">
...
<h:panelGroup>
<p:inputText id="last-input" value="#{lazyLogsDataModel.lastTime}" size="10" disabled="#{lazyLogsDataModel.timeFilteringOption != 2}">
<p:ajax event="keyup" update="logsTable" />
<p:clientValidator event="keyup" update="msg"/>
</p:inputText>
<h:selectOneMenu id="selectLastType" value="#{lazyLogsDataModel.lastUnit}" disabled="#{lazyLogsDataModel.timeFilteringOption != 2}">
<f:selectItem itemLabel="Days" itemValue="0"/>
<f:selectItem itemLabel="Hours" itemValue="1" />
<f:selectItem itemLabel="Minutes" itemValue="2" />
<a4j:ajax event="change" render="systemLogTable" />
</h:selectOneMenu>
</h:panelGroup>
<p:message id="msg" for="last-input"/>
...
</h:form>
有谁能告诉我我做错了什么? 我也试过
<p:messages autoUpdate="true" />
而不是
<p:message for="last-input" />
并且它有效,但我更喜欢专用消息而不是全局消息。
答案 0 :(得分:4)
默认情况下禁用PrimeFaces客户端验证,并且需要添加以下全局参数才能启用它:
<context-param>
<param-name>primefaces.CLIENT_SIDE_VALIDATION</param-name>
<param-value>true</param-value>
</context-param>