First off, form validation should NEVER be done on the client-side...that's way too big of a security risk. It should always be done on the server-side (PHP, ASP.NET, JSP, etc.).
C-mon! Both are necessary. Client-side to avoid unnecessary connections to the server just because some user missed a letter or something. And server-side for those who like to abuse webforms.

Client-side validation has proved to be the only input validation needed in most of cases when talking about intranet and office software. One of the proofs is that almost any modern webapp framework has extensive modules that generate javascript validation code for forms.

While in public applications a developer should keep to server-side validation, of course. There is always a guy who just loves to screw up all your js/html code and make your server/database submit to to his evil will.