1
我有一個h:inputText
與f:convertNumber
附加到它。區域設置設置爲de
。如何禁止h:inputText的分組分隔符?
根據語言環境,小數點分隔符是「,」,分組分隔符是「。」。
如果用戶輸入「72,5」,則輸入正確解釋爲「72和半」。但是如果我輸入72.5,則輸入被解釋爲725.
這可能導致輸入錯誤,因爲如果用戶意外地點擊「。」,則沒有警告或錯誤消息。代替 」,」。
有沒有一種方法可以防止這種行爲,而無需編寫自定義驗證器或JavaScript?我想使用jsf標準轉換器或驗證器?
到目前爲止,我嘗試了f:validateRegex
連同f:convertNumber
和f:convertNumber
與模式,但都沒有工作。
謝謝BalusC。所以最簡單的方法是編寫一個替代「。」的自定義轉換器。用「,」然後從我的自定義內部調用jsf的標準numberConverter?然後這兩個分隔符將被允許作爲小數分隔符。或者,如果我檢測到「」,我可以發出警告消息。「並讓轉換失敗。 – 2011-04-19 14:32:01
當你準備好時,擴展'NumberConverter'並調用'super'。至於代碼邏輯,取決於不完全清楚的功能要求。你想默默地轉換或顯示錯誤?如果客戶**故意**使用1,000來表示千位而不是一位?這很複雜:) – BalusC 2011-04-19 14:47:13
好吧,顯示錯誤消息將是最安全的,我認爲。它是存儲藥物劑量的醫療應用程序... – 2011-04-19 14:51:59