Проверка номера JSF - PullRequest
       1

Проверка номера JSF

20 голосов
/ 16 ноября 2011

Есть ли в JSF встроенный тег проверки номера, который проверяет, является ли ввод, введенный в поле h:inputext, номером?

На первый вопрос ответили. Отредактировано, чтобы объяснить следующую проблему:

<h:inputText id="maxrecs" value="#{simpleBean.numRecords}" required="false" maxlength="4" >                         
    <f:convertNumber longOnly="true"/>
</h:inputText>

Фасоль

private long numRecords = null;

Если я использую объект String или Integer в компоненте поддержки, значение не устанавливается. Теперь, когда я использую примитив int, на экране печатается 0. Я бы хотел, чтобы экран был пустым.

Ответы [ 5 ]

41 голосов
/ 16 ноября 2011

Вы можете использовать f:convertNumber (используйте атрибут integerOnly).

Вы можете получить больше информации здесь .

11 голосов
/ 16 ноября 2011

Вы можете использовать:

 <f:validateLongRange minimum="20" maximum="1000" />

Где минимальное допустимое минимальное число, а максимальное наибольшее. Подробнее смотрите здесь

7 голосов
/ 06 марта 2013

Проверка номера JSF для входного текста упомянуть компонент f: converterNumber между компонентом h inputText и упомянуть атрибуты integerOnly и тип.

<h:inputText id="textMobileId" label="Mobile" styleClass="controlfont" value="#{UserRegistrationBean.textMobile}">
    <f:convertNumber integerOnly="true" type="number" />
</h:inputText>

Если вы введете abcd в текстовом поле Mobile в тот момент, когда вы нажимаете командную кнопку, автоматически появляется сообщение об ошибке, например

Mobile: 'abcd' is not a number. 
3 голосов
/ 19 сентября 2013

Решение i8taken преобразует число в long без сообщения проверки (по крайней мере, в моем случае: JSF2 / global messages на страницу). Для правильной проверки сообщения вы можете
1. проверить значение в методе действия в бобе;
или
2. использовать атрибут конвертера для inputText:

<h:inputText id="maxrecs" value="#{simpleBean.numRecords}" maxlength="4" converter="javax.faces.Integer" />

0 голосов
/ 14 марта 2016

Вы можете просто использовать проход, поэтому сначала добавьте эту библиотеку

    xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"

, а после используйте эту

   <h:inputText id="numberId" pt:type="number" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...