The ASP.Net Validation controls actually do both client and server side validation, however this is typically for things like required fields, length, format matching and the like. The validation controls are typically not designed for preventing malicious activity.
In terms of protecting your application, two major things to look out for are script injection and SQL injection.
There is some script injection protection built into ASP.net by default but it is best to defend against attacks directly as well. Any output generated from user input should be encoded before output. You can use HttpUtility.HTMLEncode( ). There is also an AntiXss library available from Microsoft that offers enhanced protection.
Note that these measures are typically done as close to the program output as possible. This method does not reject entries containing malicious script- the script is rather encoded into harmless text output.
Of course any data stored to a database should be either parametrized or inserted via linq to prevent SQL injection- this will ensure that stored data is strongly typed and can not be executed as a query.
XSS Defense Tips
AntiXss library Download