仅插入数字作为输入

时间:2012-07-05 19:13:45

标签: jsf

目前我有<h:inputText>

<h:outputLabel value="#{locale.nroEmployees}:"/>
<h:inputText value="#{companyEditBean.companyEmployeesAmount}"
          disabled="#{not companyEditBean.editingAllowed}">
</h:inputText>                      

如何实现,用户只能在输入字段中输入数字?

2 个答案:

答案 0 :(得分:2)

您可以在之后过滤它以仅接受数字,或执行与以下类似的操作:

<h:inputText value="#{companyEditBean.companyEmployeesAmount}"
      disabled="#{not companyEditBean.editingAllowed}"
      onkeypress="if(event.which &lt; 48 || event.which &gt; 57) return false;"/>

答案 1 :(得分:0)

作为替代方法,您可以使用primeface来实现此目的:

<h:form>
<h:panelGrid columns="2">   
        <h:outputText value="Number Input"/>   
        <h:inputText id="txt_" />   
</h:panelGrid> 
<p:keyFilter for="txt_" mask="num" /> 
</h:form>

或者,使用primeface扩展,您可以执行此操作(假设您添加了必需的jar并将扩展名称空间定义为pe)

<p:inputText id="txt_" required="false" label=""
        value="#{beanclass.blablamethod}" maxlength="10">
        <f:validateLength minimum="10" for="txt_" />
        <pe:keyFilter regEx="/[\d\-]/"></pe:keyFilter>
</p:inputText>