Rework of the popular FluentValidation library to work in .NET 2.0. There is one minor syntax change and the LinqBridge (lambda syntax for 2.0) library is required, so please read the docs. Namespaces and licenses are similar to FluentValidation.
Thanks to Jeremy Skinner for his permission to make changes to his original FluentValidation for .NET 3.5 (http://fluentvalidation.codeplex.com/). His original licenses have been left in all files and still apply to this project.
The only syntax change between using the .NET 2.0 version and the .NET 3.5 version is due to the fact that 3.5 is able to compile Expressions to get the property name, whereas the .NET 2.0 version requires the property name being validated to be explicitly named. A workaround. A hack some might say, but I had only one afternoon to get this together, so there it is.
| Version || Syntax || Comment |
| 3.5 || validator.RuleFor(x => x.Surname).NotNull(); || property name "Surname" determined by compiling expression. |
| 2.0 || validator.RuleFor("Surname", x => x.Surname).NotNull(); || property name must be stated explicitly. |
Apart from this main difference, the usage is the same as for the FluentValidation project. FluentValidation 3.5 Doumentation
Also, some functionality has been left out such as Silverlight, ASP.NET MVC, xVal compatibility and anything that is explicitly to do with Expressions. The Moq tests have been removed and others added, as Moq requires .NET 3.0