2011-04-08 58 views
1

它應該允許高達小數點前30位和ATLEAST 1,之後小數如何使用jsf中的正則表達式驗證double值?

+3

我對jsf不熟悉,但是如果你的值是一個字符串,則正則表達式應該如下所示:^ [0-9] {1,30} \。[0-9] {0,2 } $ – sauerburger 2011-04-08 05:13:08

+0

是的esel是正確的.. 爲JavaScript驗證這是一個正確的答案更多正則表達式訪問http://www.regular-expressions.info/javascriptexample.html – Jitesh 2011-04-10 17:55:36

回答

5

atmost 2位如果您使用的是JSF 2.0,你可以使用正則表達式驗證器標籤:

<h:inputSecret id="password" value="#{user.password}"> 
    <f:validateRegex pattern="add your pattern here" /> 
</h:inputSecret> 

如果你仍然對JSF 1.x我認爲你必須通過創建一個實現javax.faces.validator.Validator接口的類來編寫自己的自定義驗證器。 Here is a good tutorial how to achieve this

2

在這裏,在這個例子中是解決方案,我建議爲驗證雙:

<h:inputText id="someField" value="#{yourBean.doubleValue}"> 
    <f:convertNumber minFractionDigits="2" /> 
    <f:validateDoubleRange minimum="1" maximum="30"/> 
</h:inputText> 

使用convertNumber標籤的屬性來設定你所需要的限制。