2013-09-24 24 views
5

sto usando JSF per costruire una forma, e non ho questo tipo di inputText:Come bloccare i numeri negativi su h: inputText con 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> 

e devo bloccare i numeri negativi e dare un messaggio per utente in linea quel numero è vietato, come funziona quando l'utente digita un numero non valido su input.

Qualcuno sa come posso farlo?

risposta

9

Utilizzare <f:validateLongRange> con un minimum di 0.

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

Il messaggio di convalida di default è: messaggio di convalida

Validation Error: Value is less than allowable minimum of '0'

Qualsiasi personalizzato può essere impostato tramite validatorMessage allo stesso modo come avete fatto per converterMessage.

+0

grazie mille! –

+0

Prego. – BalusC

+0

E puoi sovrascrivere il messaggio aggiungendo la chiave javax.faces.validator.LongRangeValidator.MINIMUM nel tuo file delle proprietà! –