fixes issues with #557

fixes Adam's suggestion that validation now happens onblur
instead of on mouseout
also implements gail's suggestion