Как использовать персонализированную маску ввода в простых лицах - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть таблица данных, отображающая столбец, заполненный нулевыми значениями, отображаемыми как '-' или числовые данные, и я хочу отфильтровать его, позволив пользователю ввести тире или число.

Маска должна позволять значения как таковые:

  • -
  • 5
  • 1035487

Я пытался использовать <p:inputMask> как таковой:

<p:inputMask styleClass="inputMask, filterTextBox" onchange="PF('documentsTable').filter()"
             mask="?-999999999999999999999999999999"
             id="filterDossierNumber" widgetVar="filterDossierNumber"
             value="#{DocumentEncodingTrackingBean.filterDossierNumber}">
    <p:keyFilter regEx="^-?[0-9]+$"/>
</p:inputMask>

Или <h:inputText>

<h:inputText styleClass="inputMask, filterTextBox" onchange="PF('documentsTable').filter()"
             id="filterDossierNumber" widgetVar="filterDossierNumber"
             value="#{DocumentEncodingTrackingBean.filterDossierNumber}">
    <p:keyFilter regEx="/-{0,1}\d{1,}/"/>
</h:inputText>

И я также пытался использовать плагин jquery maskedinput, как это (импортировано на странице jsf)

$(document).ready(function(){
    $.mask.definitions['h']= "[\-]"
}); 

с mask="?h999999999999999999999999999999" в <p:inputMask>

Ни один из них никогда не работал как задумано. Я, наверное, неправильно понимаю, как это работает

...