Well, Oddz, wouldn't you say that you should do it at both client and server where practical?
For instance, isn't is true that a couple of reasons for client side programming are...
1. Quicker response to the user
2. Reduce the load on the server
And, with those things in mind, then, isn't it true that when you do whatever validation you can on the client, ( like checking required fields have something in them, or checking boundaries for numeric entries), doesn't this contribute towards both of those things? Suppose a dollar value should be greater than 4.99 and less than 44.99. I do realize now the need for validating -- or RE-validating this on the server; but, if you initially check it on the client, isn't that going to serve the first goal I mentioned?
I have to admit, I don't see, now, where JS is going to reduce the load on the server -- at least in the area of validation -- since you're going to be validating everything on the server anyway. I guess, if part of the benefit of JS is that it does reduce the load on the server, then it must do this in other ways besides validation.