我有一个primefaces p:inputText我希望用户输入一个整数,但数据的类型必须保持为字符串,因为我使用@ javax.validation.constraints.Size进行服务器端bean验证(这就是为什么整数转换器不起作用,我从Hibernate验证器获得ClassCastExcpetion)。我这样做是因为接缝豆也用于在其他场合存储字符串。
理想情况下,我希望用户只能在字段中输入数字,因此我使用" onkeypressed"和不同的正则表达式/密钥代码,但我找不到适用于Chrome,Firefox和IE的解决方案。
有什么想法吗?
编辑:
我尝试使用f:validateRegex,但奇怪的是,验证只有在我省略type =" number"在p:inputText中。 Paul Wasilewski的发布解决方案在input =" number" (至少在firefox上)
答案 0 :(得分:2)
如果你还没有尝试过。解决方案是
<p:inputText ... onkeydown="return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 8" ... />