FluentValidation by Jeremy Skinner

<PackageReference Include="FluentValidation" Version="5.6.1" />

 IValidationRule

public interface IValidationRule
Defines a rule associated with a property which can have multiple validators.
string RuleSet { get; set; }

Name of the rule-set to which this rule belongs.

The validators that are grouped under this rule.

void ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = 0)

Performs validation using a validation context and returns a collection of Validation Failures.

Performs validation using a validation context and returns a collection of Validation Failures asynchronoulsy.