When doing validation, I like identifying all the missing or invalid pieces before returning an error. This allows an admin to fix as many of the problems as possible instead of fixing one problem only discover there's another that was already there.