I'm in the process of moving validation into model (
watson/validating package). But some validation rules can't be moved. For instance, consider user registration form. You want to enforce passwords to be no less then 6 characters. You can't do it in the model, since in the model you've got hash of the password.
But then, if your password fails to pass controller validation rules, only errors from controller validation are reported. I'd obviously like user to see results of both controller and model validation.