I came across a pretty neat nuget package that may very well be my go-to validation logic from now on. The package is called FluentValidation and seems to be a very flexible and usable fluent approach to object validation. There’s not much else to say about it other than go check it out and give it a spin. There is a quick example on the github page, but the api is very discoverable. I made a quick LinqPad script to play with it, and I like what I am seeing so far.

https://github.com/JeremySkinner/FluentValidation