2015-10-20 149 views
2

我有一個primefaces p:inputText,我希望用戶輸入一個整數,但數據的類型必須保持字符串,因爲我使用服務器端的@javax進行bean驗證.validation.constraints.Size(這就是爲什麼整數轉換器不工作,我從Hibernate驗證器中得到一個ClassCastExcpetion)。我這樣做是因爲seam bean也被用來在其他場合存儲字符串。primefaces inputText輸入字符串,但只允許數字

理想情況下,我希望用戶只能在該字段中輸入數字,因此我使用「onkeypressed」和不同的正則表達式/鍵碼,但我找不到適用於Chrome,Firefox和IE的解決方案。

任何想法?

編輯:

我嘗試用F:validateRegex,但奇怪的是,如果我P中省略類型=「數字」驗證不只是工作:inputText的。此外,發佈的解決方案Paul Wasilewski在輸入=「number」(至少在Firefox上)情況下不工作

+0

@Kukeltje:謝謝你的建議,但我沒有設法做一個無限數量的數字的面具,你能幫忙嗎? –

+0

你可以使用下面的JavaScript函數鏈接示例,你可以解決它https://kurtomerfaruk.wordpress.com/2014/03/09/primefaces-spinnera-sadece-sayi-girmek/ –

+0

@Kukeltje:是的,這就是我試過的 –

回答

1

如果您還沒有嘗試過它。解決方案將是

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

我收到以下錯誤:實體名稱必須緊跟在實體引用中的'&'後面。 –

+0

請看最新的答案。 –

+0

謝謝,它的工作原理(除非使用type =「number」,那麼我可以在Firefox中鍵入逗號)。 –

相關問題