The right time of form validation has been discussed already several times here, here and here, but recently I noticed a few times implementations which are using delayed validation. Means you get your validation as soon as you are stop typing, after a short delay. It seems superior to the onKeyPress validation, but is it superior to onBlur? In general?
Example of delayed form validation (of course: in case of an error, the error should get hidden immediately here and the delay seems to be too short)
In the alist apart study they've used partly the delayed method, but only for username and password, which worked quite good for them.