Estou com a seguinte dúvida: preciso validar o que o usuário digitar nos JTextFields, por exemplo: tem o campo valor de uma compra, que deve ser double.
Essa validação, usando o MVC SmallTalk, ficaria na view mesmo, ou no controller?
Já vi alguns tópicos com pessoas dizendo pra validar no controller, mas vejam a imagem abaixo:
Não trata de nada disso. Eu acho que por ser algo relativo a view, a validação tem que ser feita nela mesmo, pois os atributos do model e os campos da view são coisas bem distintas.
O que vocês acham, e fazem no dia-a-dia com relação a isso?
Também acredito que a validação seja feita no controller, visto que ele seria a “estratégia” da view em sua aplicação. De acordo com o MVC, a função da view é refletir o model e repassar as informações de eventos do usuário para o controller. Cada ação da view é interpretada pelo controller para que ele decida o que fazer. O controller que é responsável por determinar o comportamento da view.
Imagine, por exemplo, se fosse necessário mudar toda a interface do aplicativo e as regras estivessem na view. Seria necessário reimplementar estas regras, ou seja, retrabalho. Se for necessário usar outra view que também apresente este campo, seria necessário implementar a validação nessa outra view também. Mas ao contrário, estando no controlador, vc poderia utilizar N componentes/views diferentes e reaproveitar as validações, já que estão no controlador.