Pessoal, (Feliz Natal e Ano novo)
Estamos migrando um aplicativo bem antigo que não possui MOUSE, lá o usuário deve ir de campo a campo com o mouse, em ordem (ida ou volta) até chegar ao confirmar ou cancelar.
Cada campo tem todo tipo de validação imaginável, o dono do software (e cliente) quer que tenhamos o mesmo comportamento, mas que funcione idêntico ao antigo (em relação as validações nos campos). Fizemos algumas poucas telas onde isso foi necessário e tivemos um trabalho imenso, sem contar que fica um código confuso e não funciona em muitos casos (cada dia o cliente descobre algum bug). Acho que isso não se sustenta.
Por exemplo, validação de DE / ATÉ para datas. Vira um inferno.
Obviamente, desde o começo sugeri que a grande maioria (se possível TODAS) as validações ficassem ao concluir a transação, ou seja, no botão confirmar, mas o cliente diz que isso afeta a produtividade do atendente (eles realmente não param de entrar com dados no sistema, o tempo todo).
A aplicação é em Swing (embora não utilizamos Swing diretamente, tem um framework fornecido pelo cliente) e o uso mouse é obrigatório.
Reforçando, minha opinião é que deveria haver um novo design para a parte de telas para que essas validações campo a campo fossem minimizadas, mas o cliente está intransigente em relação a isso.
Fica a pergunta, o que podemos fazer para ter validação campo a campo e não continuarmos nesse inferno de cross-field-validation, que no final não atende 100%.
Alguém sugere alguma leitura, pattern ou algo do tipo?
Muito obrigado