Проверка номера JSF - программирование
Подтвердить что ты не робот

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

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

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

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

Поддержка Bean

private long numRecords = null;

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

4b9b3361

Ответ 1

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

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

Ответ 3

Проверка номера 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 в то время, когда вы нажимаете кнопку Commandbutton, он автоматически показывает ошибку, например

Mobile: 'abcd' is not a number. 

Ответ 4

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

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

Ответ 5

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

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

и после использования этого

   <h:inputText id="numberId" pt:type="number" />