Как заблокировать отрицательные числа в h: inputText с помощью JSF

Я использую jsf для создания формы, и у меня есть такой ввод текста:

<div class="profile-info-row">
    <div class="profile-info-name">Promoção:</div>
    <div class="profile-info-value">
        <span class="input-icon input-icon-right">
            <h:inputText id="promocao" class="input-medium"
                value="#{itemController.itemPreco.promocao}"
                converterMessage="Valor inválido. (Ex.: 0.00)">
                <f:convertNumber locale="pt"/>
                <f:ajax event="change" render="promocaoMensagem"/>
            </h:inputText>
        </span>
        <div class="help-inline mensagemErro">
            <h:message for="promocao" id="promocaoMensagem"/>
        </div>
    </div> 
</div>

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

Кто-нибудь знает, как я могу это сделать?


person Chico Luiz    schedule 24.09.2013    source источник


Ответы (1)


Используйте <f:validateLongRange> с minimum из 0.

<h:inputText ...>
    <f:validateLongRange minimum="0" />
</h:inputText>

Сообщение проверки по умолчанию:

Ошибка проверки: значение меньше допустимого минимума «0»

Любое пользовательское проверочное сообщение можно настроить с помощью validatorMessage так же, как вы это сделали для converterMessage.

person BalusC    schedule 24.09.2013
comment
И вы можете переопределить сообщение, добавив ключ javax.faces.validator.LongRangeValidator.MINIMUM в свой файл свойств! - person Koray Tugay; 12.10.2016