我有一个 primefaces p:inputText,我希望用户在其中输入一个整数,但数据的类型必须保留为字符串,因为我使用 @javax.validation.constraints.Size 进行服务器端 bean 验证(这就是为什么整数转换器不起作用,我从 Hibernate 验证器获得 ClassCastExcpetion)。我这样做是因为在其他场合,seam bean 也用于存储字符串。
理想情况下,我希望用户只能在字段中输入数字,因此我使用了“onkeypressed”和不同的正则表达式/键码,但我找不到适用于 Chrome、Firefox 和 IE 的解决方案。
有什么想法吗?
编辑:
我尝试了 f:validateRegex,但奇怪的是,只有当我在 p:inputText 中省略 type="number"时,验证才会起作用。另外,Paul Wasilewski 发布的解决方案在 input="number"的情况下不起作用(至少在 Firefox 上)
最佳答案
如果您还没有尝试过。解决方案是
<p:inputText ... onkeydown="return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 8" ... />
关于jsf - primefaces inputText 输入字符串,但只允许数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235474/