【问题标题】:primefaces inputText enter string, but only allow digitsprimefaces inputText 输入字符串,但只允许数字
【发布时间】:2015-10-20 11:30:30
【问题描述】:

我有一个 primefaces p:inputText 我希望用户在其中输入一个整数,但数据的类型必须保持为字符串,因为我使用带有 @javax.validation.constraints.Size 的服务器端 bean 验证(这就是为什么整数转换器不起作用,我从 Hibernate 验证器获得 ClassCastExcpetion)。我这样做是因为接缝豆在其他场合也用于存储字符串。

理想情况下,我希望用户只能在字段中输入数字,因此我使用了“onkeypressed”和不同的正则表达式/键码,但我找不到适用于 Chrome、Firefox 和 IE 的解决方案。

有什么想法吗?

编辑:

我尝试了 f:validateRegex,但奇怪的是,只有在我省略 p:inputText 中的 type="number" 时验证才有效。 Paul Wasilewski 发布的解决方案在 input="number" 的情况下也不起作用(至少在 firefox 上)

【问题讨论】:

  • @Kukeltje:谢谢你的建议,但我没能制作出无限位数的面具,你能帮忙吗?
  • 你可以使用下面链接示例的javascript函数你可以解决它kurtomerfaruk.wordpress.com/2014/03/09/…
  • @Kukeltje:是的,我试过了
  • @Kukeltje:如果您知道答案,请给出答案。我们不是在这里的幼儿园
  • 不,我不知道答案,但我无意尝试您已经尝试过但不起作用的所有东西...How to Ask(第一行,关于跟踪等... ) 祝你好运

标签: jsf primefaces integer size bean-validation


【解决方案1】:

如果您还没有尝试过。一个解决方案是

<p:inputText ... onkeydown="return event.keyCode &gt;= 48 &amp;&amp; event.keyCode &lt;= 57 || event.keyCode == 8" ... />

【讨论】:

  • 我收到以下错误:实体名称必须紧跟在实体引用中的“&”之后。
  • 谢谢,它可以工作(除非有人使用 type="number",然后我可以在 Firefox 中输入逗号)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 2015-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多