I have spent years concentrating on what it takes to implement well-rounded validation experiences. I developed in-house validation frameworks across platforms including Classic ASP, Visual Basic, ASP.NET Web Forms, and WinForms. At Microsoft, I was the lead developer of the validation features built into the .NET Framework’s System.ComponentModel.DataAnnotations namespace. My work included IValidatableObject, ValidationResult, ValidationContext, and Validator, among other implementation details introduced in .NET 4.0. Those features delivered validation functionality into ASP.NET MVC, ASP.NET Web Forms, WCF RIA Services, Silverlight, and WPF.

During the development of the .NET Framework validation framework, I wrote extensively about how the framework could be used in WCF RIA Services for client-side and server-side validation. My blog also includes posts about some of my other work in the validation problem space as well as work in WPF, ASP.NET, the Model-View-ViewModel pattern and more.

I created Strickland while working on the Node/React/Redux/GraphQL platform at SAP Concur. There, Strickland is being used across multiple projects and multiple teams.

The Name Strickland

When React was introduced, Flux was presented as a complementary design pattern. Many Back to the Future themed libraries emerged as implementations of Flux. Principal Strickland was the rule-monger of Hill Valley High School in the Back to the Future movies.

A validation framework was needed that would integrate nicely with the React ecosystem. These ideas were combined and Strickland was born. Though v1.0.0 was not released until December 2017, initial work on Strickland began and the strickland.io domain was purchased in 2015, the same year that Marty visited in the future.

Check out strickland.io to learn more about Strickland.