Strongly-typed validation rules.
dotnet add package FluentValidation
Readable rule chains.
Rules are plain classes.