-
Lógica de validação pertence ao banco de dados, ao modelo de domínio e possivelmente o modelo de visualização.
Acho que a maioria dos frameworks tem decoradores / atributos de modelo para definir a validação e visualizar os auxiliares para renderizar a visualização do modelo, incluindo a clareza da validação do lado do cliente. Portanto, tente deixar o framework fazer todo o trabalho para você e se concentrar no Modelo.
-
A lógica de negócios pertence ao modelo (lógica dependente de domínio) e o Controlador (lógica dependente de serviço).
Eu tenho a tendência de pesar o máximo de lógica possível no domínio Model para manter o Controlador de luz, como você diz. Mas eu geralmente prefiro não injetar serviço dependências na minha camada de domínio, por isso algumas dessas lógica tem que acontecer no Controlador.