Vraptor3: Validator.onErrorUse fazendo forward sem parar

3 respostas
G

Tenho aqui um controller que possui dois métodos.

@Get
    public void create() {
        final List<DebitDTO> debits = fileTransferService.findAvaliableDebitsToTransfer();
        if (debits.isEmpty()) {
            validator.add(new ValidationMessage("Não há débitos pendentes para o mês corrente.", null));
        }

        validator.onErrorUse(Results.logic()).forwardTo(getClass()).list();
        [...]
    }

    @Post
    public void confirm(List<Integer> indexes) {
        if (indexes == null || indexes.isEmpty()) {
            validator.add(new ValidationMessage("Você precisa selecionar pelo menos um débito.", null));
        }
        validator.onErrorUse(Results.logic()).forwardTo(getClass()).create();
        [...]
    }

Quando estou no método CONFIRM e dá um erro de validação, o usuário é direcionado para o CREATE para poder corrigir os erros e tentar novamente. Porém como o Validator já tem as mensagens de erro lá dentro ele segue para o método LIST, onde eu quero na verdade que ele vá para o CREATE.

Como posso fazer isso?

3 Respostas

Lucas_Cavalcanti

troca o forwardTo pra redirectTo…

isso não tem como funcionar mto bem por causa do jeito que o Spring controla os escopos… o forward está na mesma requisição, então os componentes são todos os mesmos… =(

G

Mas aí eu não perco as mensagens? Ou elas vão para o scope flash?

Lucas_Cavalcanti

vão pro flash…

Criado 17 de abril de 2010
Ultima resposta 18 de abr. de 2010
Respostas 3
Participantes 2