Как ограничить ввод переменным количеством чисел только с помощью элемента PrimeFaces inputMask - PullRequest
11 голосов
/ 13 января 2012

Мне нужно определить что-то похожее на это регулярное выражение:

[0-9]{1, 5}

На элементе PrimeFaces <inputMask>:

<p:inputMask mask="regexGoesHere" value="#{someBean.val}"/>

Я посмотрел на витрину PrimeFaces, но не мог понять, как это сделать.

Так кто-нибудь знает, как это сделать, кроме JavaScript?

Я не совсем ищу решение с <inputMask>, что могло бы ограничить меня от ввода букв при вводе на стороне клиента - все в порядке.

Спасибо

Ответы [ 5 ]

28 голосов
/ 21 февраля 2013

Если вы хотите или вам нужно ограничить длину, вы можете сделать что-то вроде этого:

<p:inputMask 
   mask="9?9999"
   maxlength="5"
   slotChar=" "
   value="#{someBean.val}" />

, где пользователь может ввести только от 1 до 5 цифр, или следующее для четырех цифр и т. Д.

<p:inputMask 
   mask="9?999"
   maxlength="4"
   slotChar=" "
   value="#{someBean.val}" />

До PrimeFaces 5.1 : используйте placeHolder вместо slotChar ( Issue 7324 ).

6 голосов
/ 13 января 2012

Следующий Masked Input Plugin - это оригинальный плагин jquery, который используется Primefaces, вы можете найти гораздо больше информации о его использовании, также есть несколько примеров кода p: input-mask в этом PDF PrimeFaces: Дополнительные элементы ввода посмотрите на страницу 24

3 голосов
/ 17 января 2013

KeyFilter из PrimeFaces Extensions выглядит именно так, как вам нужно: http://fractalsoft.net/primeext-showcase-mojarra/views/keyFilter.jsf

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

1 голос
/ 20 апреля 2015

просто попробуйте это:

<p:inputMask maxlength="5">
        <pe:keyFilter regEx="/[\d]/" />
</p:inputMask>

maxlength: ограничить количество символов до 5 макс. regEx: авторизовать десятичный символ только при нажатии клавиши

NB:

0 голосов
/ 13 января 2012

Вы можете использовать валидатор.Или проверяйте диапазон и определяйте минимум и максимум.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...