Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida JSF

Pessoal, a minha duvida é a seguinte, eu queria adicionar uma mensagem de erro quando o usuário chegar no max de um spinner, apenas para avisa-lo o porque chegou no limite, como faço ? Segue abaixo o cod: o spinner está em um dataTable, onde se tem uma lista de itens, e em cada item tem um produto, e posso definir a quantidade de produtos no item. Quero definir o máximo do spinner com uma mensagem para dizer que não há mais em estoque.

                    <p:column>
                        <f:facet name="header">Total</f:facet>
                        <p:outputPanel>

                            <p:spinner id="SpinnerQuantidade" value="#{item.quantidade}"
                                min="1" max="#{item.produto.emEstoque}">
                                <p:ajax
                                    update="FormProdutos:tabelaProdutosAdicionados formInformacoesDaVenda:valorVenda FormAdicionarProdutos:messages"
                                    process="FormProdutos:tabelaProdutosAdicionados" />
                                <p:ajax />
                            </p:spinner>

                            <h:outputText id="SpinnerValor" value="#{item.valorTotal}"
                                style="padding-left: 10px" />
                        </p:outputPanel>
                    </p:column>
                    <p:column>
2 respostas

Fala aí Rafael, blz?

Cara na documentação do primefaces ele faz algo parecido com o que você está precisando.

Ele envia o valor do spinner via ajax e imprime do lado do campo o valor atual.

A ideia é você receber esse valor e caso seja o máximo retornar a mensagem.

De uma olhada no ultimo exemplo que tem aqui na documentação: http://www.primefaces.org/showcase/ui/input/spinner.xhtml

Creio que isso possa te ajudar.

solução!

Opa, blz e ai ?

Muito obrigado Fernando.

Então, foi exatamente este spinner que peguei, porem o meu valor não está no Bean, e sim é um valor do modelo Produto, que está dentro de Item, que está dentro de uma lista de itens dentro de venda. E não estou sabendo criar esta mensagem quando chega no max... Que por sua vez é:

max="#{item.produto.emEstoque}">