我正在使用JSF2.0
我使用了一个有效输入文本的验证器,但似乎没有msg表示输入错误!
更新
他们是一种在提交之前验证inputtext的方法,只需在输入inputText之后?
JSF代码:
<h:form id="form3">
<p:panel visible="#{bean.form3Visible}" style="width: 900px;">
<h:panelGrid width="width: 900px;" columns="1">
<p />
<h:selectOneMenu value="#{bean.platform}">
<f:selectItem itemLabel="-- Select Plateform-- " itemValue="0"/>
<f:selectItems value="#{bean.getMyListPaltform()}" />
<f:ajax listener="#{bean.UpdateChangeEnvironment()}" render="Environment" />
</h:selectOneMenu>
<h:panelGrid width="width: 160px;" columns="9">
<h:inputText id="ssFrom" value="#{bean.ssFrom}" required="true" style="width: 18px" > <f:validateLongRange minimum="0" maximum="24"/>
</h:inputText>
<h:message for="ssFrom" id="msgg" style="color:red" />
</h:panelGrid>
</p:panel>
</h:form>
我已经解决了我的问题,这是答案,也许它可以帮助其他人:
<h:selectOneMenu value="#{bean.availabilityDisplay}" id="Display">
<f:selectItem itemLabel="-- Select Display-- " itemValue="0"/>
<f:selectItems value="#{bean.getMyListDisplays()}"/>
<f:ajax render="Target" />
</h:selectOneMenu>
<p:outputPanel id="Target">
<h:selectOneMenu value="#{bean.frequency}" id="frequency" rendered="#{bean.availabilityDisplay == 'Availibility Histogramme' or bean.availabilityDisplay == 'Availibility line'}">
<f:selectItem itemLabel="-- Select Frequency-- " itemValue="0"/>
<f:selectItems value="#{bean.getMyListFrequency()}"/>
</h:selectOneMenu>
</p:outputPanel>
谢谢
答案 0 :(得分:3)
您需要添加h:message
或h:messages
标记以显示错误消息。
<h:inputText value="#{bean.ssFrom}" required="true" style="width: 18px" id="ssFrom">
<f:validateLongRange minimum="0" maximum="59"/>
</h:inputText>
<h:message for="ssFrom" />
<!-- OR -->
<h:messages />
h:message
用于显示单个字段的错误(由for
属性连接)。 h:messages
可用于显示页面的所有错误消息。如果您设置globalOnly="true"
,它将仅显示未被h:message
标记“捕获”的邮件。
答案 1 :(得分:1)
可以粘贴整页代码吗。
但可能存在的问题可能是:
requiredMessage="whatever" validatorMessage="whatever"
属性
答案 2 :(得分:1)
为了在不提交表单的情况下验证<h:inputText>
,您需要添加ajax功能。
<h:inputText id="ssFrom" value="#{bean.ssFrom}" required="true" style="width: 18px" >
<f:validateLongRange minimum="0" maximum="24"/>
<f:ajax execute="@this" event="keyup"/>
</h:inputText>
f:ajax
代码会在每次启动事件时更新ssForm
变量,如果发生验证错误,它将显示在<h:message for="ssFrom" />
中,正如Mulmoth所说。