Salve GUJ…
Boa noite amigos do GUJ, venho a todos pedir uma pequena ajuda sobre um problema que estrou enfrentando em JSF.
Imaginem a seguinte situação.
Possuo um cadastro de Veículos e um cadastro de Marcas.
Um veículo obrigatoriamente possui uma marca.
O usuário inicia o cadastro do veículo, e depois de ter preenchido alguns campos percebe que a marca deste veículo ainda não está cadastrada no sistema. Para facilitar para o usuário, ‘na frente’ do campo onde ele relacionaria a marca, existe um botão que o leva para uma outra tela onde ele poderá fazer o cadastro da marca, que por sua vez, após ser salva gera um redirecionamento para a tela anterior (Cadastro do veículo) e deve trazer preenchidos os campos que o usuário já tinha digitado previamente.
Observações.
O cadastro do veículo é controlado por um ManagedBean com escopo de visão (ViewScoped).
O cadastro da marca é controlado por um ManagedBean com escopo de visão (ViewScoped).
O Problema.
Para facilitar a vida dos desenvolvedores, os validadores como campos obrigatórios são declarados na view (required=“true”), com isso o botão que faz o redirecionamento para o cadastro da marca está com o immediate=“true” ‘pulando’ a fase de validação (PROCESS_VALIDATIONS) e consequentemente a fase de (UPDATE_MODEL_VALUES), com isso eu não consegui de forma alguma recuperar os dados do veículo que o usuário havia digitado anteriormente.
Se acaso o immediate é setado para false, ao clicar no botão que faria o redirecionamento para o cadastro da marca o JSF passa pela fase de (PROCESS_VALIDATIONS), como alguns campos ainda não foram preenchidos ele para nesta parte de validação e o redirecionamento não ocorre. Tentei manipular o ciclo de vida do JSF mas sem sucesso.
O Objetivo Principal
Enfim, meu objetivo principal é facilitar o trabalho do usuário dando a ele o direito de ir e vir sem perder os campos preenchidos, e também dos meus amigos desenvolvedores pois segundo eles é mais prático trabalhar com as validações (Validators) diretamente na view.
Todas as ideias são bem vindas.
Obrigado a todos desde já.