Personally, I did not put a check in the objects themselves. I use the xVal library to handle my authentication.
xVal recommends that you annotate entity classes (or, in fact, related metadata classes) with attributes that describe different validation rules. These validation attributes are standard that come with .NET in System.ComponentModel.DataAnnotations.
You then manually verify your objects at your business level. This is done using a method that runs the System.ComponentModel.DataAnnotations validation logic. I wrote one that looks like this:
xVal provides a neat type of exception that you can throw that encapsulates validation errors and makes it easy to add them to ModelState in your controller.
xVal will also auto-generate client-side JavaScript form validation code for you using jQuery.Validate by providing the HtmlHelper method.
Check out http://blog.codeville.net/2009/01/10/xval-a-validation-framework-for-aspnet-mvc/ for a walk through using it. I found this to be a very good way to do validation, which is not a complete job. It is suitable for ASP.NET MVC to do something.
Daniel Chambers
source share