如何在h:inputText中的按键事件期间限制字符

时间:2013-04-05 10:57:55

标签: javascript jsf

我需要一个输入组件,只接受[0-9]中的数字。我通过服务器端转换/验证实现了这一点:

<h:inputText ... converter="javax.faces.Integer" />

但是,在进入UI时,它仍然允许其他字符。如何在keypress事件期间阻止这种情况?

<h:inputText ... converter="javax.faces.Integer" onkeypress="...help?" />

2 个答案:

答案 0 :(得分:0)

试试这个

<h:inputText id="presentReading" styleClass="labelfont" label="Present Reading"    converter="javax.faces.Integer"value="#{FuelFilling1.presentReading}" maxlength="10">
   <f:validateLongRange minimum="1" maximum="10"/>
</h:inputText>

或者,您可以使用JQuery或Javascript在客户端在keypress上进行验证。你可以使用Jquery吗?

答案 1 :(得分:0)

我建议坚持使用jsf验证。

<f:convertNumber integerOnly="true" type="number" />

如果您不想将表单提交给get响应,则可以使用ajax实时验证。使用javascript / jQuery进行按键验证可以完成,但除非你有充分的理由这样做,否则很痛苦。