Validate Model Programmatically in ASP.NET MVC

ASP.NET model binding framework takes care of validating a model based on data annotation validations. This works well when a model is being bound with request data. However, at times you may need to create and fill a model programmatically. In such cases, although the model properties are decorated with data annotation validators, they won't validate the data because they are not invoked at all. Luckily, ASP.NET MVC allows you to validate a model object via code. This article shows how.

http://www.binaryintellect.net/articles/3ede96e3-d54a-453e-884f-1d234aabd4cc.aspx