Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to restrict Primefaces inputMask to numbers only?

I want to restrict p:inputMask to numbers only, and I tried the proposed solutions from:

  • How to restrict an input to numbers only with PrimeFaces inputMask element

But none of them worked. I tried these two ways:

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

and

<p:inputMask id="userNo"  maxlength="2" >
    <pe:keyFilter regEx="/[0-9_]/i"/>
</p:inputMask>
like image 936
sasuri Avatar asked Dec 12 '14 04:12

sasuri


1 Answers

I think that approach is right but I noticed that you don't put value attribute on inputMask. Do you try to put it on?

Edit: These solutions works:

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;
  }
}
  • see also: http://forum.primefaces.org/viewtopic.php?f=3&t=37665
like image 140
giaffa86 Avatar answered Oct 02 '22 12:10

giaffa86