I was ordering a pizza online today from Papa John's, mistyped a digit in a credit card number, and was informed that the "Credit Card number cannot be used for this reason: FAILED LUHN/MOD10 CHECK." Well, that's fine and dandy, but only because I know what it means. Not all that helpful to an end user.
I'm a big fan of always reiterating the basics: make sure your validation makes sense to an end user. Always ask someone who has no knowledge of your project to look at a basic error state and see if they can effortlessly fix input. If they can't do it immediately, or if they start asking you for clarification, it's drawing board time.