2011-04-08 54 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标签的属性来设定你所需要的限制。