A strong data validation approach needs to consider all tiers of an enterprise style "full stack" application. So, before diving into the details of the FluentValidation library, I thought it would be good to explore one of the original and still very relevant data validation techniques: using SQL table definitions and contraints to define what data is allowed and ensure data consistency and referential integrity.