p: keyFilter не работает должным образом в Firefox - PullRequest
2 голосов
/ 27 апреля 2020

Я могу ввести как цифры, так и специальные символы для ввода текста p.

Как ограничить поле, которое может принимать только цифры? во всех браузерах?

<p:message for="longitude" display="text"><p:autoUpdate/></p:message>
<p:inputText id="longitude" maxlength="18" style="width: 50%;" value="#{areaMB.longitude}">
<p:keyFilter regEx="/[0-9]/i" />
</p:inputText>

Браузер Chrome Версия 81.0.4044.113 (64-разрядная версия) - в поле можно вводить только цифры
Браузер IE Версия 11.0.9600 - В поле могут вводиться только цифры

Проблема, но через Fire Fox

Браузер Fire Fox 75.0 (64-битный) - цифры и специальные символы могут ввести в поле /

Как ограничить поле, которое может принимать только цифры? во всех браузерах?

Проблема существует только в браузере Fire Fox, и большинство пользователей используют этот браузер.

1 Ответ

2 голосов
/ 28 апреля 2020

Эта проблема KeyFilter Firefox была исправлена ​​в PrimeFaces 8.0: https://github.com/primefaces/primefaces/issues/5110

Если вам действительно нужно ограничить ввод цифрами, вы можете использовать p:inputNumber следующим образом.

<p:inputNumber id="longitude" 
               maxlength="18" 
               style="width: 50%;" 
               value="#{areaMB.longitude}" 
               decimalPlaces="0"
               minValue="0" />

Удалите minValue, если хотите разрешить отрицательные числа.

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