h:inputText仅允许输入期间的数字

时间:2015-05-27 18:14:04

标签: jsf-2 numbers richfaces

我在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;"

但是如果用户犯了错误,这不允许点击退格按钮。

提前感谢所有人!

1 个答案:

答案 0 :(得分:3)

我使用了这个功能:

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;"

谢谢大家。