Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

WIZARD PRIMEFACES

Boa noite, meu problema é muito especifico mais acho que alguem tem alguma solução, uso o compoente wizard do primefaces, nele já vem 2 botões para avançar e voltar, só que nesse botão ele não valida nada, ai tem que criar as proprias validaçoes dentro do metodo, fiz algumas validaçoes, para poder avançar mais quando aperto o botão voltar ele também pede para validar os campos, tem alguma maneira de fazer um jeito de voltar para outra aba sem ter que validar? Obrigado.

    public String proximo(FlowEvent evento) {
        if (evento.getOldStep().equals("PRODUTO") && (evento.getNewStep().equals("PAGAMENTO"))) {
            System.out.println("PRODUTOOOOOOOOOO");
            if (this.compraProdutos.size() <= 0) {
                Mensagem.mensagemError("Atenção: Não pode para o outro passo sem não ter nenhum produto adicionado a sua lista de compra");
                return "PRODUTO";
            }
        } else if (evento.getOldStep().equals("PAGAMENTO")) {
            System.out.println("PAGAMENTOOOOOOOOOOOOOOO");
            Boolean contem = false;
            for(Compra_formadepagamento cf: compraPagamentos) {
                if(cf.getFormaDePagamento().getDescricao().contains("CARTÃO CREDITO - VISA") || cf.getFormaDePagamento().getDescricao().contains("CARTÃO CREDITO - MASTER CARD")) {
                    System.out.println("CONTEEEEEM");
                    contem = true;
                }
            }
            if (this.compraPagamentos.size() <= 0 && contem) {
                Mensagem.mensagemError("Atenção: Não pode para o outro passo sem não ter nenhuma forma de pagamento adicionado a sua lista de pagamento");
                return "PAGAMENTO";
            } else if(!contem && this.compra.getPrecoPagar().doubleValue() != 0) {
                Mensagem.mensagemError("Atenção: Está sobrando valor a pagar, e não foi adicionado nenhuma forma de pagamento parcelavel");
                return "PAGAMENTO";
            }
        }
        return evento.getNewStep();
    }
1 resposta
solução!

fala Alisson!! blz??

vc viu no site de demos do primefaces? https://www.primefaces.org/showcase/ui/panel/wizard.xhtml

Lá ele está fazendo a validação pelo xhtml e não pelo ManagedBean. Da uma olhada nas abas de código, como nunca usei o componente não sei se existe uma solução melhor. Outra forma de fazer é usar ConversationScoped em várias páginas, mas acho que é mais facil pelo componente mesmo.

Veja se o showcases te ajuda, se não ajudar a gnt pensa em alguma solução =).

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software