Невозможно принять введенные числа после того, как я использую p inputMask, добавьте запятую для чисел более 999 - PullRequest
0 голосов
/ 31 марта 2020

В поле ввода текста ниже, Пользователь может ввести значения от одного до 99 999. Введите только цифры.

<p:message for="usage" display="text"><p:autoUpdate/></p:message>
<p:inputText id="usage" maxlength="10" required="true"
    requiredMessage="You must provide an input" value="#{powerMB.usage}">  
    <f:validateDoubleRange minimum="1" maximum="99999" for="usage" />   
    <p:keyFilter regEx="/[0-9]/i"  />         
</p:inputText>

Текущие входные значения принимаются - примеры

1 
34                      
99
3534
53535

Я пытался замаскировать определенные c входные значения согласно

Как ограничить входную маску Primefaces только числами?

https://www.primefaces.org/showcase/ui/input/inputMask.xhtml

Попытка добавить запятую для чисел больше, чем 999

Я получаю следующую ошибку для кода ниже

usage: Validation Error: Value is not of the correct type

<p:message for="usage" display="text"><p:autoUpdate/></p:message>
<p:inputMask id="usage" maxlength="5" required="true"
    requiredMessage="You must provide an input" mask="99,999" value="#{powerMB.usage}">  
    <f:validateDoubleRange minimum="1" maximum="99999" for="usage" />   
</p:inputMask>

Ввод данных как

1       fail validation error
34      fail                
99      fail
3534    fail
53535   fail


00,001      fail validation error
00,034      fail                
00,099      fail
03,534  fail
053,535 fail

невозможно принимать входные значения после того, как я использую inputMask

Может предоставить полный рабочий код существующей функциональности при необходимости.

1 Ответ

4 голосов
/ 31 марта 2020

Это не ответ на ваше требование, а объяснение того, почему вы видите поведение, которое видите.

Все ваши ошибки легко объяснимы ...

Запятая обязательна , поэтому все они по праву терпят неудачу

1       fail validation error
34      fail                
99      fail
3534    fail
53535   fail

Во-вторых, ваш maxLength равен 5 так что все они по праву терпят неудачу, так как длина составляет 6

00,001      fail validation error
00,034      fail                
00,099      fail
03,534      fail

И это не по ряду причин

053,535     fail

SNAFU

Чтобы сделать запятую необязательной, ищите лучше подходящие шаблоны. Это для меня больше, чем я хочу приложить.

...