Validation is one area where you cannot do all validation in one place.
Sometimes you need to validate on the page, sometimes in the server
code, in the business object and again in the data services area. I try
and at least have all validation done in the business object so there
is one place where the validation rules exist but you will have to
duplicate validation in other areas too. For example you may check that
you got a particular value. You may wish to check this on the page so
the user gets immediate response but by the time it hits the business
object you want to validate it again because you may be unsure where
the data came from (and hence has it been validated) and also people
can post to your website without going through your pages so if it
assumes something has been already checked you may open yourself up for
attacks.