This post is a great run down of how much thought and consideration goes into making form validation actually useful. This part really stood out to me:
However, if not well-designed, in-line error messages can become overwhelming. For example, flagging a field as incorrect after just one character can be disruptive, especially if the person filling out the form hasn't finished typing.
I'd say this is one of my biggest icks when filling out a form and I'm a fast typer! There's absolutely no need to shout as users while they are in the process of filling out your form.
Absorb all the goodness in this fantastic guide and make your forms great!