This is the first post in a 2 post series:
(1) Validation without Exceptions using a MediatR Pipeline Behavior; and(2) Manual Validation in the Business Layer without Exceptions