The Validation framework for .NET provides an extensible data validation framework that allows for reusable validation rules.
It can be used to validate a wide variety of data types ranging from simple value types to complex object graphs.