h:inputText 只允许输入数字

h:inputText allow only numbers during input

我在 JSF2 中有一个字段,我尝试以这种方式执行验证:

<h:inputText value="#{manutencaoContratoBean.contrato.nuContrato}" style="text-align: left; width: 90%; ">
<f:convertNumber pattern="#######" maxFractionDigits="0" maxIntegerDigits="16"/>

因此:

<h:inputText value="#{manutencaoContratoBean.contrato.nuContrato}" style="text-align: left; width: 90%; ">
  <f:convertNumber integerOnly="true"/

但是,我的字段只进行验证并显示一条消息,我只想插入数字,而不是字符串,这可能吗?

是否可以只插入数字?如果相关的话,我正在使用 RichFaces 4。

我找到了这个,效果很好:

onkeypress="if(event.which &lt; 48 || event.which &gt; 57) return false;"

但这不允许单击退格按钮,以防用户出错。

在此先感谢大家!

我用完了这个功能:

onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) if(event.which != 8) return false;"

这个在 IE 和 Chrome 中运行良好,我不知道为什么它在 firefox 中也不能正常运行,这个功能在 Firefox 中阻止了 tab 键。

要使 tab 键在 firefox 中正常工作,请添加:

onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) if(event.which != 8) if(e.keyCode != 9) return false;"

谢谢大家。