我需要一个输入组件,只接受[0-9]
中的数字。我通过服务器端转换/验证实现了这一点:
<h:inputText ... converter="javax.faces.Integer" />
但是,在进入UI时,它仍然允许其他字符。如何在keypress
事件期间阻止这种情况?
<h:inputText ... converter="javax.faces.Integer" onkeypress="...help?" />
答案 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进行按键验证可以完成,但除非你有充分的理由这样做,否则很痛苦。