Pessoal, boa tarde !
Estou com um problema no “h:inputText” com atributo “required=true”.
Para entender minha pergunta no final, considere o seguinte exemplo:
Obs.: Segue abaixo um link com um exemplo montado para testarem também, porém vou explicar:
http://www.mandamais.com.br/download/8beq2542011165533
Ao executar o exemplo, irá abrir uma grid com duas colunas preenchidas da seguinte forma:
JOÃO nome | JOÃO sobreNome
MARIA nome | MARIA sobreNome
Agora siga os seguintes passos:
* Cliquei no “Editar” do nome JOÃO e repare que na próxima tela aparecerá assim:
Nome : JOÃO nome;
Sobrenome : JOÃO sobreNome;
* Feito isso clique em voltar;
* Cliquei no “Editar” do nome MARIA e repare que na próxima tela aparecerá assim:
Nome : MARIA nome;
Sobrenome : MARIA sobreNome;
* Feito isso clique em voltar;
* Depois cliquei novamente no “Editar” do nome JOÃO;
* Na próxima tela apague input nome (“JOÃO nome”) deixando em branco e clique em “Atualizar e Voltar”. Observe que no input nome aparecerá uma mensagem de “Campo Obrigatório”;
* Clique no botão “Voltar”;
* Na grid clique no “Editar” do nome “MARIA nome”;
* Repare que na próxima tela aparecerá aparecerá da seguinte forma:
Nome : MARIA nome;
Sobrenome : JOÃO sobreNome;
* Obs.: O correto era aparecer da seguinte forma:
Nome : MARIA nome;
Sobrenome : MARIA sobreNome;
[color=blue]Minha pergunta é:[/color] Porque isso acontece quando tenho um input que é requerido na tela ?
O correto não era ignorar a execução do botão “Atualizar e Voltar” que quando clico em “Voltar” e quando “Editar” novamente entrar com os valores correspondentes ao objeto que selecionei ?
[color=red]Obs.:[/color] Não quero saber como contornar essa questão, isso eu já sei, quero saber por que ocorre isso neste caso.
Isso é um comportamento correto do JSF ou não ?
Eu estou fazendo algum procedimento errado ? Se sim, qual seria a forma correta neste caso ?