2014-12-12 6 views
8

Я хочу, чтобы ограничить p:inputMask к номерам только, и я попытался предлагаемые решения от:Как ограничить ввод символов Mainfaces только номерами?

Но ни один из них не работал. Я попробовал эти два пути:

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

и

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

ответ

11

Я думаю, что такой подход является правильным, но я заметил, что вы не ставите value атрибут inputMask. Вы пытаетесь надеть это?

Edit: Эти решения работы:

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; 
    } 
} 
+2

Если вы присмотрелся, это тот же самый подход в обоих направлениях. – sasuri

+0

Да, я также имею в виду оба. Единственным отличием является атрибут value. Вы пытались поместить его на InputMask? – giaffa86

+0

Я только что попробовал и разместил свое решение, и оно работает (принимает только числа). Я разместил его на своем ответе. Рад быть полезным. – giaffa86

Смежные вопросы