如何在jsf中使用正则表达式验证double值?

时间:2011-04-08 05:03:45

标签: jsf

它应该允许在十进制之前最多30位数和至少1位,在十进制之后最多2位数

2 个答案:

答案 0 :(得分:5)

如果您使用JSF 2.0,则可以使用regex-validator标记:

<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

答案 1 :(得分:2)

这个例子中我建议用于验证double的解决方案:

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

使用convertNumber标记的属性设置所需的限制。