Hola Emmanuel,
Tu pregunta es muy relevante y demuestra que estás pensando en la arquitectura de tu aplicación de manera crítica, lo cual es genial.
En el patrón Modelo-Vista-Controlador (MVC), en teoría, la validación de los datos debería realizarse en el Controlador. El Controlador es responsable de tomar los datos de entrada de la Vista, procesarlos y luego actualizar el Modelo. En este proceso, el Controlador también debería verificar si los datos de entrada son válidos.
Por otro lado, también es posible realizar algunas validaciones básicas en la Vista. Por ejemplo, si tienes un JTextField para un número de teléfono, puedes asegurarte de que solo se puedan ingresar números en ese campo. Esto se considera una validación de la interfaz de usuario y puede mejorar la experiencia del usuario al proporcionar comentarios inmediatos.
No obstante, es importante tener en cuenta que cualquier validación que se realice en la Vista debe ser considerada como una capa adicional de protección y no como la única defensa. Esto se debe a que los usuarios pueden encontrar formas de eludir las validaciones de la interfaz de usuario, por lo que siempre debes tener validaciones en el Controlador también.
En resumen, aunque puedes hacer algunas validaciones en la Vista para mejorar la experiencia del usuario, la validación principal y más segura debe hacerse en el Controlador.
Espero haber aclarado tu duda. ¡Sigue con el buen trabajo y recuerda, la práctica hace al maestro!
Espero haber ayudado y buenos estudios!