Skip to content

Upgrading FluentValidation 2 to 3

Unknown2.0.0 → 3.4.6

UnknownUpgrade verdict

DepDelta hasn't looked for this range's notes yet, so breaking changes can't be ruled out.

  • DepDelta hasn't finished looking for the notes in this range, so it can't rule out breaking changes yet.
Unknown for releases without notes

Releases without notes may still need changes. Check their commits before upgrading.

Generated by DepDelta from published .NET assemblies. Not mixed with prose notes.

  • removed: interface IValidationRule<T> extends IValidationRule
  • removed: method IValidationRule.Validate(ValidationContext<T> context): IEnumerable<ValidationFailure>
  • removed: method IValidator.Validate(ValidationContext<T> context): ValidationResult
  • removed: static method DefaultValidatorExtensions.Equal<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, TProperty toCompare): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorExtensions.Equal<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, TProperty toCompare, IEqualityComparer comparer): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorExtensions.NotEqual<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, TProperty toCompare): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorExtensions.NotEqual<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, TProperty toCompare, IEqualityComparer comparer): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.Unless<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, bool> predicate, ApplyConditionTo applyConditionTo): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.When<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, bool> predicate, ApplyConditionTo applyConditionTo): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, IResourceAccessorBuilder resourceAccessorBuilder): IRuleBuilderOptions<T, TProperty>
  • changed: abstract class AbstractValidator<T> implements IEnumerable, IEnumerable<IValidationRule<T>>, IValidator, IValidator<T> → abstract class AbstractValidator<T> implements IEnumerable, IEnumerable<IValidationRule>, IValidator, IValidator<T>
  • changed: ctor ValidatorDescriptor(IEnumerable<IValidationRule<T>> ruleBuilders) → ctor ValidatorDescriptor(IEnumerable<IValidationRule> ruleBuilders)
  • changed: interface IRuleBuilderInitial<T, TProperty> extends IConfigurable<PropertyRule<T>, IRuleBuilderInitial<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty> → interface IRuleBuilderInitial<T, TProperty> extends IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty>
  • changed: interface IRuleBuilderOptions<T, TProperty> extends IConfigurable<PropertyRule<T>, IRuleBuilderOptions<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty> → interface IRuleBuilderOptions<T, TProperty> extends IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty>
  • changed: interface IValidator → interface IValidator extends IEnumerable, IEnumerable<IValidationRule>
  • changed: interface IValidator<T> extends IEnumerable, IEnumerable<IValidationRule<T>>, IValidator → interface IValidator<T> extends IEnumerable, IEnumerable<IValidationRule>, IValidator
  • changed: method AbstractValidator.AddRule(IValidationRule<T> rule): void → method AbstractValidator.AddRule(IValidationRule rule): void
  • changed: method AbstractValidator.GetEnumerator(): IEnumerator<IValidationRule<T>> → method AbstractValidator.GetEnumerator(): IEnumerator<IValidationRule>
  • changed: protected property ValidatorDescriptor.Rules: IEnumerable<IValidationRule<T>> { get; } → protected property ValidatorDescriptor.Rules: IEnumerable<IValidationRule> { get; }
  • changed: static method DefaultValidatorExtensions.Equal<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Expression<Func<T, TProperty>> expression, IEqualityComparer comparer): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.Equal<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Expression<Func<T, TProperty>> expression, IEqualityComparer comparer = …): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorExtensions.Equal<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Expression<PropertySelector<T, TProperty>> expression): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.Equal<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, TProperty toCompare, IEqualityComparer comparer = …): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorExtensions.NotEqual<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Expression<PropertySelector<T, TProperty>> expression): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.NotEqual<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Expression<Func<T, TProperty>> expression, IEqualityComparer comparer = …): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorExtensions.NotEqual<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Expression<PropertySelector<T, TProperty>> expression, IEqualityComparer<TProperty> comparer): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.NotEqual<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, TProperty toCompare, IEqualityComparer comparer = …): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorOptions.Unless<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, bool> predicate): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorOptions.Unless<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, bool> predicate, ApplyConditionTo applyConditionTo = …): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorOptions.When<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, bool> predicate): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorOptions.When<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, bool> predicate, ApplyConditionTo applyConditionTo = …): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorOptions.WithLocalizedName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorOptions.WithLocalizedName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, IResourceAccessorBuilder resourceAccessorBuilder = …): IRuleBuilderOptions<T, TProperty>
  • changed: static property ValidatorOptions.PropertyNameResolver: Func<Type, MemberInfo, string> { get; set; } → static property ValidatorOptions.PropertyNameResolver: Func<Type, MemberInfo, LambdaExpression, string> { get; set; }
  • added: ctor ValidationContext(T instanceToValidate)
  • added: ctor ValidationContext(object instanceToValidate)
  • added: interface CollectionValidatorExtensions.ICollectionValidatorRuleBuilder<T, TCollectionElement> extends IConfigurable<PropertyRule, IRuleBuilderOptions<T, IEnumerable<TCollectionElement>>>, IFluentInterface, IRuleBuilder<T, IEnumerable<TCollectionElement>>, IRuleBuilderOptions<T, IEnumerable<TCollectionElement>>
  • added: method AbstractValidator.RuleSet(string ruleSetName, Action action): void
  • added: method AbstractValidator.Unless(Func<T, bool> predicate, Action action): void
  • added: method AbstractValidator.When(Func<T, bool> predicate, Action action): void
  • added: method CollectionValidatorExtensions.ICollectionValidatorRuleBuilder.Where(Func<TCollectionElement, bool> predicate): CollectionValidatorExtensions.ICollectionValidatorRuleBuilder<T, TCollectionElement>
  • added: method IRuleBuilder.SetValidator(IValidator<TProperty> validator): IRuleBuilderOptions<T, TProperty>
  • added: method IValidationRule.ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = …): void
  • added: method ValidationContext.Clone(PropertyChain chain = …, object instanceToValidate = …, IValidatorSelector selector = …): ValidationContext
  • added: property IValidationRule.RuleSet: string { get; set; }
  • added: property ValidationContext.IsChildContext: bool { get; }
  • added: static class CollectionValidatorExtensions
  • added: static method CollectionValidatorExtensions.SetCollectionValidator<T, TCollectionElement>(IRuleBuilder<T, IEnumerable<TCollectionElement>> ruleBuilder, IValidator<TCollectionElement> validator): CollectionValidatorExtensions.ICollectionValidatorRuleBuilder<T, TCollectionElement>
  • added: static method DefaultValidatorExtensions.CreditCard<T>(IRuleBuilder<T, string> ruleBuilder): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.ExclusiveBetween<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, TProperty from, TProperty to): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.GreaterThan<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, Expression<Func<T, TProperty>> expression): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.GreaterThan<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, TProperty valueToCompare): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.GreaterThanOrEqualTo<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, Expression<Func<T, TProperty>> valueToCompare): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.GreaterThanOrEqualTo<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, TProperty valueToCompare): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.InclusiveBetween<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, TProperty from, TProperty to): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.LessThan<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, Expression<Func<T, TProperty>> expression): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.LessThan<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, TProperty valueToCompare): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.LessThanOrEqualTo<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, Expression<Func<T, TProperty>> expression): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.LessThanOrEqualTo<T, TProperty>(IRuleBuilder<T, TProperty?> ruleBuilder, TProperty valueToCompare): IRuleBuilderOptions<T, TProperty?>
  • added: static method DefaultValidatorExtensions.Must<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<T, TProperty, PropertyValidatorContext, bool> predicate): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorExtensions.Validate<T>(IValidator<T> validator, T instance, IValidatorSelector selector = …, string ruleSet = …): ValidationResult
  • added: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, Func<T, object>[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static property ValidatorOptions.DisplayNameResolver: Func<Type, MemberInfo, LambdaExpression, string> { get; set; }
  • removed: class PropertyRule<T> extends PropertyRule implements IValidationRule, IValidationRule<T>
  • removed: ctor PropertyRule(MemberInfo member, PropertySelector propertyFunc, Expression expression, Func<CascadeMode> cascadeModeThunk, Type typeToValidate, Type containerType)
  • removed: delegate PropertySelector(object instance): object
  • removed: delegate PropertySelector<T, TProperty>(T instance): TProperty
  • removed: method PropertyRule.Validate(ValidationContext<T> context): IEnumerable<ValidationFailure>
  • removed: property PropertyRule.CustomPropertyName: IStringSource { get; set; }
  • removed: property PropertyRule.PropertyDescription: string { get; }
  • removed: static method Extensions.ForEach<T>(IEnumerable<T> source, Action<T> action): void
  • changed: class DelegateValidator<T> implements IValidationRule, IValidationRule<T> → class DelegateValidator<T> implements IValidationRule
  • changed: class RuleBuilder<T, TProperty> implements IConfigurable<PropertyRule<T>, IRuleBuilderInitial<T, TProperty>>, IConfigurable<PropertyRule<T>, IRuleBuilderOptions<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty>, IRuleBuilderInitial<T, TProperty>, IRuleBuilderOptions<T, TProperty> → class RuleBuilder<T, TProperty> implements IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty>, IRuleBuilderInitial<T, TProperty>, IRuleBuilderOptions<T, TProperty>
  • changed: ctor PropertyRule(MemberInfo member, PropertySelector propertyFunc, Expression expression, Func<CascadeMode> cascadeModeThunk, Type typeToValidate) → ctor PropertyRule(MemberInfo member, Func<object, object> propertyFunc, LambdaExpression expression, Func<CascadeMode> cascadeModeThunk, Type typeToValidate, Type containerType)
  • changed: ctor RuleBuilder(PropertyRule<T> rule) → ctor RuleBuilder(PropertyRule rule)
  • changed: method DefaultValidatorSelector.CanExecute(PropertyRule rule, string propertyPath): bool → method DefaultValidatorSelector.CanExecute(IValidationRule rule, string propertyPath, ValidationContext context): bool
  • changed: method IValidatorSelector.CanExecute(PropertyRule rule, string propertyPath): bool → method IValidatorSelector.CanExecute(IValidationRule rule, string propertyPath, ValidationContext context): bool
  • changed: method MemberNameValidatorSelector.CanExecute(PropertyRule rule, string propertyPath): bool → method MemberNameValidatorSelector.CanExecute(IValidationRule rule, string propertyPath, ValidationContext context): bool
  • changed: property PropertyRule.Expression: Expression { get; } → property PropertyRule.Expression: LambdaExpression { get; }
  • changed: property PropertyRule.PropertyFunc: PropertySelector { get; } → property PropertyRule.PropertyFunc: Func<object, object> { get; }
  • changed: property RuleBuilder.Rule: PropertyRule<T> { get; } → property RuleBuilder.Rule: PropertyRule { get; }
  • changed: protected method PropertyRule.InvokePropertyValidator(ValidationContext context, IPropertyValidator validator): IEnumerable<ValidationFailure> → protected method PropertyRule.InvokePropertyValidator(ValidationContext context, IPropertyValidator validator, string propertyName): IEnumerable<ValidationFailure>
  • changed: static method PropertyRule.Create<TProperty>(Expression<Func<T, TProperty>> expression): PropertyRule<T> → static method PropertyRule.Create<T, TProperty>(Expression<Func<T, TProperty>> expression): PropertyRule
  • changed: static method PropertyRule.Create<TProperty>(Expression<Func<T, TProperty>> expression, Func<CascadeMode> cascadeModeThunk): PropertyRule<T> → static method PropertyRule.Create<T, TProperty>(Expression<Func<T, TProperty>> expression, Func<CascadeMode> cascadeModeThunk): PropertyRule
  • added: class RulesetValidatorSelector implements IValidatorSelector
  • added: class TrackingCollection<T> implements IEnumerable, IEnumerable<T>
  • added: ctor PropertyChain(IEnumerable<string> memberNames)
  • added: ctor RulesetValidatorSelector(string[] rulesetsToExecute)
  • added: ctor TrackingCollection()
  • added: event TrackingCollection.ItemAdded: Action<T>
  • added: method DelegateValidator.ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = …): void
  • added: method PropertyRule.ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = …): void
  • added: method PropertyRule.GetDisplayName(): string
  • added: method RuleBuilder.SetValidator(IValidator<TProperty> validator): IRuleBuilderOptions<T, TProperty>
  • added: method RulesetValidatorSelector.CanExecute(IValidationRule rule, string propertyPath, ValidationContext context): bool
  • added: method TrackingCollection.Add(T item): void
  • added: method TrackingCollection.GetEnumerator(): IEnumerator<T>
  • added: method TrackingCollection.OnItemAdded(Action<T> onItemAdded): IDisposable
  • added: property DelegateValidator.RuleSet: string { get; set; }
  • added: property PropertyChain.Count: int { get; }
  • added: property PropertyRule.DisplayName: IStringSource { get; set; }
  • added: property PropertyRule.RuleSet: string { get; set; }
  • added: static method Extensions.CoerceToNonGeneric<T, TProperty>(Func<T, TProperty> func): Func<object, object>
  • added: static method Extensions.CoerceToNonGeneric<T>(Action<T> action): Action<object>
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, bool> func): Func<object, bool>
  • added: static method PropertyChain.FromExpression(LambdaExpression expression): PropertyChain
  • added: static property Messages.CreditCardError: string { get; }
  • removed: ctor PropertyValidatorContext(string propertyDescription, object instance, PropertySelector propertyValueFunc, string propertyName, MemberInfo member)
  • removed: ctor PropertyValidatorContext(string propertyDescription, object instance, object propertyValue, string propertyName)
  • removed: property IPropertyValidator.SupportsStandaloneValidation: bool { get; }
  • removed: property PropertyValidator.SupportsStandaloneValidation: bool { get; set; }
  • removed: property PropertyValidatorContext.Member: MemberInfo { get; }
  • removed: protected method ChildValidatorAdaptor.CreateNewValidationContextForChildValidator(object instanceToValidate, PropertyValidatorContext propertyValidatorContext, IValidatorSelector validatorSelector): ValidationContext
  • changed: ctor DelegatingValidator(Predicate<object> condition, IPropertyValidator innerValidator) → ctor DelegatingValidator(Func<object, bool> condition, IPropertyValidator innerValidator)
  • changed: ctor EqualValidator(PropertySelector comparisonProperty, MemberInfo member) → ctor EqualValidator(Func<object, object> comparisonProperty, MemberInfo member)
  • changed: ctor EqualValidator(PropertySelector comparisonProperty, MemberInfo member, IEqualityComparer comparer) → ctor EqualValidator(Func<object, object> comparisonProperty, MemberInfo member, IEqualityComparer comparer)
  • changed: ctor GreaterThanOrEqualValidator(PropertySelector valueToCompareFunc, MemberInfo member) → ctor GreaterThanOrEqualValidator(Func<object, object> valueToCompareFunc, MemberInfo member)
  • changed: ctor GreaterThanValidator(PropertySelector valueToCompareFunc, MemberInfo member) → ctor GreaterThanValidator(Func<object, object> valueToCompareFunc, MemberInfo member)
  • changed: ctor LessThanOrEqualValidator(PropertySelector valueToCompareFunc, MemberInfo member) → ctor LessThanOrEqualValidator(Func<object, object> valueToCompareFunc, MemberInfo member)
  • changed: ctor LessThanValidator(PropertySelector valueToCompareFunc, MemberInfo member) → ctor LessThanValidator(Func<object, object> valueToCompareFunc, MemberInfo member)
  • changed: ctor NotEqualValidator(PropertySelector func, MemberInfo memberToCompare) → ctor NotEqualValidator(Func<object, object> func, MemberInfo memberToCompare)
  • changed: ctor NotEqualValidator(PropertySelector func, MemberInfo memberToCompare, IEqualityComparer equalityComparer) → ctor NotEqualValidator(Func<object, object> func, MemberInfo memberToCompare, IEqualityComparer equalityComparer)
  • changed: ctor PropertyValidatorContext(string propertyDescription, object instance, PropertySelector propertyValueFunc) → ctor PropertyValidatorContext(ValidationContext parentContext, PropertyRule rule, string propertyName)
  • changed: delegate PredicateValidator.Predicate(object instanceToValidate, object propertyValue): bool → delegate PredicateValidator.Predicate(object instanceToValidate, object propertyValue, PropertyValidatorContext propertyValidatorContext): bool
  • changed: property PropertyValidatorContext.PropertyDescription: string { get; set; } → property PropertyValidatorContext.PropertyDescription: string { get; }
  • changed: protected ctor AbstractComparisonValidator(PropertySelector valueToCompareFunc, MemberInfo member, Expression<Func<string>> errorMessageSelector) → protected ctor AbstractComparisonValidator(Func<object, object> valueToCompareFunc, MemberInfo member, Expression<Func<string>> errorMessageSelector)
  • added: class CreditCardValidator extends PropertyValidator
  • added: ctor CreditCardValidator()
  • added: property ChildCollectionValidatorAdaptor.Predicate: Func<object, bool> { get; set; }
  • added: property PropertyValidatorContext.ParentContext: ValidationContext { get; }
  • added: property PropertyValidatorContext.Rule: PropertyRule { get; }
  • added: protected method CreditCardValidator.IsValid(PropertyValidatorContext context): bool