Bem, estou precisando implementar a seguinte tarefa, preciso efetuar um cadastro, por mais simples que seja, esse processo vai envolver mais de uma pagina, então digamos que vai precisar passar pela etapa1, etapa2 e etapa3, e cada etapa é uma pagina diferente, tem como fazer esse tipo de proeza com o vraptor?
lembrando que todas essas etapas tem propriedades(atributos) de um unico objeto, ou seja, na primeira pagina eu inseri os dados de 3 atributos, quando passei para a segunda etapa, ou seja para a proxima pagina tem mais 4 atributos, e assim na ultima pagina, e nela é quem possuirá o botao de salvar, que vai persistir todos os dados dessas etapas.
tem como trabalhar com algo nesse estilo com vraptor?
O nome disso é Wizard.
Eu veria a real necessidade de implementar algo nesse sentido. Mas é possível sim.
Então rafael, o wizard não trabalha utilizando na MESMA pagina nao? pq vou precisar que seja em paginas diferentes.
Não necessariamente.
Por que que você precisa que sejam páginas diferentes?
porque provavelmente a aplicação que vou criar vai ter objeto que precisam de muuuitos campos e a aplicação antiga que é utilizada na empresa trabalha dessa forma ou seja, com as etapas sendo em paginas (o que eu infelizmente não gosto) mais preciso saber se o vraptor me dá essa flexibilidade de fazer algo dessa forma, e queria saber como.
a questão é que se for possível deixar em uma unica pagina com o Wizard, deixarei, mais quero saber se caso seja obrigatório (por parte da empresa), em paginas diferentes, se poderei ter essa possibilidade implementada através do vraptor.
a aplicação antiga que é utilizada na empresa trabalha dessa forma
Minha opinião sobre isso: se vai fazer um sistema novo, deve aproveitar o que ele pode entregar de melhor e arrumar o que o antigo não fazia muito bem. Se você tem o foco de copiar o outro sistema, a migração não é tão necessária assim.
O VRaptor permite que você faça muita coisa. Só que a dificuldade de implementar isso são outros quinhentos.
e eu concordo com você em genero, numero e grau, mais colocar isso na cabeça de “chefes” é diferente. Já passei essa mesma informação pra ele, porem ele quer saber se alguem “mais de cima” quiser essa mesma estrutura de etapas por páginas, se eu posso fazer, e se há uma forma, queria saber o caminho o qual eu devo seguir.
Cara, um controller, um link que vai para outra action e que carrega uma JSP…
Normal… A questão é vc mandar ele retornar o mesmo objeto quando a pessoa voltar para a tela antiga… Isso vai dar um pouco de trabalho…
rafael, posso utilizar dentro de um wizard o jquery validation?
por exemplo, estou usando jquery bootstrap wizard : http://vadimg.com/twitter-bootstrap-wizard-example/examples/basic.html
só que as validações que ele faz, basicamente é na “unha”, ou seja, dessa forma:
$(document).ready(function() {
$('#rootwizard').bootstrapWizard({
onTabClick: function(tab, navigation, index) {
return false;
},
onNext:function(tab, navigation, index) {
if(index==1) {
// Make sure we entered the name
var nome = $('#nome');
if(!nome.val()) {
nome.focus();
return false;
}
}
}
}
);
});
e eu queria aproveitar a estrutura do jquery validations para usar em cada etapa do formulario. queria deixar algo nesse estilo:
$(document).ready(function() {
$('#rootwizard').bootstrapWizard({
onTabClick: function(tab, navigation, index) {
return false;
},
onNext:function(tab, navigation, index) {
if(index==1) {
// Make sure we entered the name
var nome = $('#nome');
if(!nome.val()) {
$('#adicionarUsuario').validate({
rules: {
"usuario.nome": { minlength: 4,required: true},
"usuario.login": { required: true, minlength: 4},
"usuario.senha": { minlength: 4,required: true},
},
highlight: function(element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function(element) {
$(element).closest('.control-group').removeClass('error').addClass('success');
}
});
return false;
}
}
}
}
);
});
Fique ciente de que esse bootstrap wizard vai fazer o wizard todo na mesma página. Tome cuidado com o validator.
Precisa separar os elementos entre as tabs ou o validator poderá validar elementos que estão em outra tab.
kkkk, mais é exatamente isso que estou perguntando, como utilizar o validate por abas, eu sei que o onNext é para passar de etapa, so que queria deixar a mesma validação só que em vez de formulario, na etapa, e nao estou conseguindo, ou seja, não está efetuando a validação, e queria deixar essa validação pq ele ja está integrado com o bootstrap tambem e ja coloca o input vermelho ou verde de acordo com a validação e inclusive a mensagem já está internacionalizada.
rafael, esse validate pode ser utilizado dentro do componente wizard, ou é definido somente para trabalhar no form quando houver o submit?
Ele é definido somente no form quanto houver o submit.
No caso terei que implementar as validações no “braço” quando for com wizard?
Seria interessante… É menos gambiarrento…