Client-side validation was not being executed at all on my web form and I had no idea why.  It turns out the problem was the name of the javascript function was the same as the server control ID.  
So you can't do this...
But this works:
I'm guessing it conflicts with internal .NET Javascript?