web-dev-qa-db-ja.com

Primefaces inputMaskを数字のみに制限する方法は?

制限したいp:inputMask to numbersonly、そして私は提案された解決策を以下から試しました:

しかし、どれもうまくいきませんでした。私はこれらの2つの方法を試しました:

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

そして

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

そのアプローチは正しいと思いますが、valueinputMask属性を付けていないことに気付きました。着てみますか?

編集:これらのソリューションは機能します:

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;
  }
}
14
giaffa86