If you have a use case e.g. SearchUserUseCase and the UI should only go into a loading state when some validation passes, e.g. search term more than 3 characters, then where would you put that validation?
It can't go in the UseCase because the ViewModel has to set the loading state before calling it but the validation could fail
If it goes in the ViewModel then that validation logic becomes something you need to copy to all other places that use your UseCase. That's probably the best option, but if the validation was more business critical then what would you do? Separate use case for validation?