2013-09-24 15 views
5

Ich bin JSF mit einer Form zu bauen, und ich habe diese Art von input:Wie negative Zahlen auf h blockieren: input mit 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> 

und ich habe negative Zahlen zu blockieren und eine Mitteilung geben um Benutzer inline diese Nummer ist verboten, wie funktioniert, wenn der Benutzer eine ungültige Zahl am Eingang eingibt ..

Weiß jemand, wie ich das tun kann?

Antwort

9

Verwenden Sie <f:validateLongRange> mit einem minimum von 0.

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

Die Standard-Validierungsnachricht ist:

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

Jeder benutzerdefinierte Validierung Nachricht über validatorMessage die gleiche Art und Weise eingestellt werden kann, wie Sie für converterMessage tun.

+0

vielen dank! –

+0

Gern geschehen. – BalusC

+0

Und Sie können die Nachricht überschreiben, indem Sie den Schlüssel javax.faces.validator.LongRangeValidator.MINIMUM in Ihrer Eigenschaftendatei hinzufügen! –

Verwandte Themen