SpecExpress takes a different approach than most other Validation Frameworks, such as Validation Application Block. SpecExpress doesn't use Attributes to decorate properties and embed all the metadata required for the rule. Instead, it it uses a separate class, called a Specification, which contains a set a rules for all the properties for a type. This allows for much easier reading, separation of concerns, and much better support for state based validation.
Features include: DSL that provides developers with a Fluent Interface for quickly composing rules that are also easy to read; Generates error message from your validation rules, while allowing for easy overriding and customization of individual messages; Support for localization of error messages;
Auto discovery of specifications means the developer isn't required to resolve which validation rules to use; Programatically add or change validation rules at runtime; Validation Contexts Support for rich, complex object types and graphs; Built with extension and customization in mind; Easy to integrate into your existing code because there are no Base Classes or Attributes to inject into your code; ASP.NET WebForms support; Silverlight support; A rich set of Validators.
This package has no dependencies.