estou precisando validar a entrada de um campo travar ela em numeros (Double) no formato R$0,00 ,em JSF , ja tentei usar javascript mas nao deu certo , a tag <h:validatorDoubleRange> mas nao deu - acho q nao sei como aplicá-la corretamente , um exemplo seria muito util
Opa,
você pode utilizar o formatNumber para isto:
<f:convertNumber pattern="###,###.##;(###,###.##)"/>
tem outros parâmentros como localidade, entre outros. Para isto veja a documentação.
:okok:
Marcos obrigado por responder , ja tentei esse que vc passou e acontece um erro:
se eu entro com numeros : java.lang.IllegalArgumentException: argument type mismatch
se eu entro com letras : Conversion error occurred.
h:column>
h:inputText id=“valor” value="#{Reembolso.valor}" style="#{Reembolso.mostraTela}" styleClass=“text”>
f:convertNumber pattern="###,###,##0.00"/>
/h:inputText>
h:outputText value=" " escape=“false”/>
h:commandButton id=“btInclui” type=“submit” value=“Registrar” style="#{Reembolso.mostraTela}" action="#{Reembolso.incluir}" styleClass=“button”/>
/h:column>
o código é esse .
obs. no style="#{Reembolso.mostraTela}" ,preciso fazer isso para que mostre os campos assim que o usuario clicar em ok depois de seleciionar uma combo acima deste código. Se eu usar rendered para mostrar esses campos ae o submit “Registrar” nao me envia os dados para o meu FormBean.
Opa,
Cara, funciona, na verdade o padrão que você usou não ficou legal. Bem tem uma forma mais fácil, tipo coloque tua propriedade como dado do tipo double e use o codigo abaixo:
<h:inputText id="valor" value="#{bean.valor}">
<f:convertNumber currencyCode="BRL"/>
</h:inputText><h:message id="message" for="valor"/>
BRL refere-se ao código da moeda brasileira, confome especificação ISO 4217.
:okok:
alguem poderia me ajudar, estava com um problema semelhante ao ElTubaronPJ então usei a dica do marcossousaPJ, funcionou quase 100% so que eu não consigo salvar valores inteiros, se u colocar 10,001 salva beleza mas seu usar 10,00 ele da erro, me ajudem por favor