Manter os dados no form após erro de validação

13 views
Skip to first unread message

Thiago Freitas

unread,
Nov 1, 2016, 5:02:52 PM11/1/16
to caelum-vraptor
Olá, já vi em outros posts que algumas pessoas passaram por problema semelhante, mas as soluções dadas não deram efeito pra mim.

Tenho um form de cadastro dividido em 3 tabs diferente (nav-tabs bootstrap). 
Ao salvar os dados desse form deixando vários campos obrigatórios em branco a página perde os dados que já estavam preenchidos.
Estou usando validation.onErrorRedirectTo(this).cadastrar() para redirecionar pra propria página afim de exibir as mensagens de erro.
Se todos os campos estiverem preenchidos corretamente (sem erro de validação), os dados são salvos normalmente no banco.

Segue abaixo meu salvar():

public void salvar(Fornecedor fornecedor) {
validation.validate(fornecedor);
validation.onErrorRedirectTo(this).cadastrar();
repository.salvar(fornecedor);
result.redirectTo(this).list(fornecedor.getNome());
}

Estou usando a versão 4.2.0-RC3 do vRaptor.
Meu método cadastrar está em branco, servindo por enquanto apenas como ponte pra direcionar pro cadastrar.jsp

Alguém tem uma idéia do que pode estar acontecendo?

[]s

Thiago

Pablo Souza

unread,
Nov 1, 2016, 6:57:30 PM11/1/16
to Caelum Vraptor
Já tentou fazer algo do tipo:

public void salvar(Fornecedor fornecedor) {
validation.validate(fornecedor);
                manterEstadoDosFormularios(fornecedor);
validation.onErrorRedirectTo(this).cadastrar();
repository.salvar(fornecedor);
result.redirectTo(this).list(fornecedor.getNome());
}

public void manterEstadoDosFormularios(Fornecedor fornecedor){
    result.include("fornecedor", fornecedor); //aqui vc inclui o que vc precisa
}

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Atenciosamente,

Pablo Souza
Twitter: @pvrsouza
Tel.: (71) 9983-7775

Tiago Oliveira

unread,
Nov 2, 2016, 6:37:13 AM11/2/16
to caelum-...@googlegroups.com

Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.
--
Atenciosamente,

Pablo Souza
Twitter: @pvrsouza
Tel.: (71) 9983-7775

Renan Montenegro

unread,
Nov 2, 2016, 8:07:12 AM11/2/16
to caelum-...@googlegroups.com

Tenta colocar @Included em cima do método.

O @Included vai manter o dados que estão sendo passado como parâmetro.


Pablo Souza

unread,
Nov 2, 2016, 10:24:13 AM11/2/16
to Caelum Vraptor
Essa não sabia!

Vou testar em breve!

Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages