Как проверить числовые строки в inputText с validateRegex на JSF-странице - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть управляемый бин с этим строковым свойством

private String itemNumber;

В JSF я хочу проверить ввод для длины 10 символов и разрешить только цифры. Ввод будет иметь предшествующие нули. Например "0000123456"

<h:inputText value="#{testBean.itemNumber}">
  <f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />
</h:inputText>

При вводе "asdf123456" я получу красивое сообщение проверки. Но на входе «0000123456» я получу это исключение

java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String

Что не так? Есть идеи?

1 Ответ

0 голосов
/ 03 сентября 2018

Объявите переменную в базовом компоненте, которая связана с вашим входным текстовым полем, как Integer / Long / BigDecimal и использование

<f:validateLength maximum="10" minimum="10" />

вместо <f:validateRegex pattern="\d\d\d\d\d\d\d\d\d\d" />.

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