如何将Primefaces inputMask仅限制为数字?

时间:2014-12-12 04:59:55

标签: jsf-2 primefaces input-mask

我想将p:inputMask限制为仅的数字,我尝试了以下建议的解决方案:

但他们都没有奏效。我试过这两种方式:

<p:inputMask id="userNo"  maxlength="2" mask="9?9999" />

<p:inputMask id="userNo"  maxlength="2" >
    <pe:keyFilter regEx="/[0-9_]/i"/>
</p:inputMask>

2 个答案:

答案 0 :(得分:12)

我认为这种方法是正确的,但我注意到你没有将value属性放在inputMask上。 你试着穿上它吗?

  

编辑:   这些解决方案有效:

<强> inputMaskTest.xhtml:

<h3>Input Mask:</h3>
<h:form id="form">
    <p:outputLabel value="Input Mask only number " for="userNo1" />
    <p:inputMask id="userNo1"  maxlength="2" mask="9?9999" value="#{inputMaskView.number}"/>

    <p:outputLabel value="Input Mask only Number Primeface Ext " for="userNo2" />
    <p:inputMask id="userNo2" maxlength="2" value="#{inputMaskView.number}">
        <pe:keyFilter regEx="/[0-9_]/i" />
    </p:inputMask>
</h:form>

<强> InputMaskView.java:

@ManagedBean(name = "inputMaskView")
@ViewScoped 
public class InputMaskView {
  private String number;

  public String getNumber() {
    return number;
  }
  public void setNumber(String number) {
    this.number = number;
  }
}

答案 1 :(得分:0)

只有整数,没有小数,没有负数,没有千位分隔符。

它有几个应用程序,例如代码接收。

就像:

<p:inputNumber minValue="1" decimalPlaces="0" thousandSeparator="" value="#{myclass.myVariable}"/>