Skip to content

Upgrading FluentValidation 5 to 6

Unknown5.6.2 → 6.4.1

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.
  • Their commits are listed with this comparison.
Unknown for releases without notes

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

Requires Target frameworks .NETFramework4.5, .NETPortable0.0-Profile259, .NETPortable0.0-Profile328, .NETStandard1.0, UAP10.0 from 6.3.4-alpha (none stated before).

Adds microsoft.bcl.async 1.0.168, system.collections 4.0.10, system.diagnostics.debug 4.0.10, system.diagnostics.tools 4.0.0, system.globalization 4.0.10, system.linq 4.0.0, system.linq.expressions 4.0.10, system.reflection 4.0.10, system.reflection.extensions 4.0.0, system.resources.resourcemanager 4.0.0, system.runtime 4.0.20, system.runtime.extensions 4.0.10, system.text.regularexpressions 4.0.10, system.threading 4.0.10, system.threading.tasks 4.0.10.

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

  • removed: class MemberAccessor<TObject, TValue>
  • removed: ctor MemberAccessor(Expression<Func<TObject, TValue>> getExpression)
  • removed: method MemberAccessor.Equals(object obj): bool
  • removed: method MemberAccessor.Get(TObject target): TValue
  • removed: method MemberAccessor.GetHashCode(): int
  • removed: method MemberAccessor.Set(TObject target, TValue value): void
  • removed: property MemberAccessor.Member: MemberInfo { get; }
  • removed: protected method MemberAccessor.Equals(MemberAccessor<TObject, TValue> other): bool
  • removed: static class MemberAccessor<TObject>
  • removed: static method MemberAccessor.From<TValue>(Expression<Func<TObject, TValue>> getExpression): MemberAccessor<TObject, TValue>
  • removed: static method MemberAccessor.op_Implicit(Expression<Func<TObject, TValue>> this): MemberAccessor<TObject, TValue>
  • removed: static method MemberAccessor.op_Implicit(MemberAccessor<TObject, TValue> this): Expression<Func<TObject, TValue>>
  • changed: interface CollectionValidatorExtensions.ICollectionValidatorRuleBuilder<T, TCollectionElement> extends IConfigurable<PropertyRule, IRuleBuilderOptions<T, IEnumerable<TCollectionElement>>>, IFluentInterface, IRuleBuilder<T, IEnumerable<TCollectionElement>>, IRuleBuilderOptions<T, IEnumerable<TCollectionElement>> → interface CollectionValidatorExtensions.ICollectionValidatorRuleBuilder<T, TCollectionElement> extends IConfigurable<PropertyRule, IRuleBuilderOptions<T, IEnumerable<TCollectionElement>>>, IRuleBuilder<T, IEnumerable<TCollectionElement>>, IRuleBuilderOptions<T, IEnumerable<TCollectionElement>>
  • changed: interface IRuleBuilder<T, TProperty> extends IFluentInterface → interface IRuleBuilder<T, TProperty>
  • changed: interface IRuleBuilderInitial<T, TProperty> extends IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty> → interface IRuleBuilderInitial<T, TProperty> extends IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IRuleBuilder<T, TProperty>
  • changed: interface IRuleBuilderOptions<T, TProperty> extends IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IFluentInterface, IRuleBuilder<T, TProperty> → interface IRuleBuilderOptions<T, TProperty> extends IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IRuleBuilder<T, TProperty>
  • changed: method AbstractValidator.CustomAsync(Func<T, ValidationContext<T>, Task<ValidationFailure>> customValidator): void → method AbstractValidator.CustomAsync(Func<T, ValidationContext<T>, CancellationToken, Task<ValidationFailure>> customValidator): void
  • changed: method AbstractValidator.ValidateAsync(T instance): Task<ValidationResult> → method AbstractValidator.ValidateAsync(T instance, CancellationToken cancellation = …): Task<ValidationResult>
  • changed: method AbstractValidator.ValidateAsync(ValidationContext<T> context): Task<ValidationResult> → method AbstractValidator.ValidateAsync(ValidationContext<T> context, CancellationToken cancellation = …): Task<ValidationResult>
  • changed: method IValidationRule.ValidateAsync(ValidationContext context): Task<IEnumerable<ValidationFailure>> → method IValidationRule.ValidateAsync(ValidationContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method IValidator.ValidateAsync(T instance): Task<ValidationResult> → method IValidator.ValidateAsync(T instance, CancellationToken cancellation = …): Task<ValidationResult>
  • changed: method IValidator.ValidateAsync(ValidationContext context): Task<ValidationResult> → method IValidator.ValidateAsync(ValidationContext context, CancellationToken cancellation = …): Task<ValidationResult>
  • changed: method IValidator.ValidateAsync(object instance): Task<ValidationResult> → method IValidator.ValidateAsync(object instance, CancellationToken cancellation = …): Task<ValidationResult>
  • changed: static method DefaultValidatorExtensions.MustAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<T, TProperty, PropertyValidatorContext, Task<bool>> predicate): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.MustAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<T, TProperty, CancellationToken, Task<bool>> predicate): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorExtensions.MustAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<T, TProperty, Task<bool>> predicate): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.MustAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<T, TProperty, PropertyValidatorContext, CancellationToken, Task<bool>> predicate): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorExtensions.MustAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<TProperty, Task<bool>> predicate): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorExtensions.MustAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<TProperty, CancellationToken, Task<bool>> predicate): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorExtensions.ValidateAndThrow<T>(IValidator<T> validator, T instance): void → static method DefaultValidatorExtensions.ValidateAndThrow<T>(IValidator<T> validator, T instance, string ruleSet = …): void
  • changed: static method DefaultValidatorExtensions.ValidateAndThrowAsync<T>(IValidator<T> validator, T instance): Task → static method DefaultValidatorExtensions.ValidateAndThrowAsync<T>(IValidator<T> validator, T instance, string ruleSet = …): Task
  • added: class ValidatorSelectorOptions
  • added: ctor ValidationException(string message)
  • added: ctor ValidatorSelectorOptions()
  • added: enum Severity
  • added: interface IParameterValidatorFactory
  • added: member Severity.Error
  • added: member Severity.Info
  • added: member Severity.Warning
  • added: method AbstractValidator.Include(IValidator<T> rulesToInclude): void
  • added: method AbstractValidator.UnlessAsync(Func<T, Task<bool>> predicate, Action action): void
  • added: method AbstractValidator.WhenAsync(Func<T, Task<bool>> predicate, Action action): void
  • added: method IParameterValidatorFactory.GetValidator(ParameterInfo parameterInfo): IValidator
  • added: method IRuleBuilder.SetValidator<TValidator>(Func<T, TValidator> validatorProvider): IRuleBuilderOptions<T, TProperty>
  • added: method IValidationRule.ApplyAsyncCondition(Func<object, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void
  • added: method ValidationContext.CloneForChildValidator(object instanceToValidate): ValidationContext
  • added: property ValidationContext.RootContextData: Dictionary<string, object> { get; }
  • added: property ValidatorSelectorOptions.DefaultValidatorSelectorFactory: Func<IValidatorSelector> { get; set; }
  • added: property ValidatorSelectorOptions.MemberNameValidatorSelectorFactory: Func<string[], IValidatorSelector> { get; set; }
  • added: property ValidatorSelectorOptions.RulesetValidatorSelectorFactory: Func<string[], IValidatorSelector> { get; set; }
  • added: static field ValidatorOptions.PropertyChainSeparator: string
  • added: static method DefaultValidatorExtensions.Empty<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorExtensions.IsInEnum<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorExtensions.Length<T>(IRuleBuilder<T, string> ruleBuilder, Func<T, int> exactLength): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.Length<T>(IRuleBuilder<T, string> ruleBuilder, Func<T, int> min, Func<T, int> max): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.Matches<T>(IRuleBuilder<T, string> ruleBuilder, Func<T, Regex> regex): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.Matches<T>(IRuleBuilder<T, string> ruleBuilder, Func<T, string> expression): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.Matches<T>(IRuleBuilder<T, string> ruleBuilder, Func<T, string> expression, RegexOptions options): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.Null<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.UnlessAsync<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WhenAsync<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithErrorCode<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorCode): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName, Func<T, object>[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, string> messageProvider): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithSeverity<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Severity severity): IRuleBuilderOptions<T, TProperty>
  • added: static property ValidatorOptions.DisableAccessorCache: bool { get; set; }
  • added: static property ValidatorOptions.ValidatorSelectors: ValidatorSelectorOptions { get; }
  • changed: class AttributedValidatorFactory implements IValidatorFactory → class AttributedValidatorFactory implements IParameterValidatorFactory, IValidatorFactory
  • added: ctor AttributedValidatorFactory(Func<Type, IValidator> instanceFactory)
  • added: method AttributedValidatorFactory.GetValidator(ParameterInfo parameterInfo): IValidator
  • removed: interface IFluentInterface
  • removed: method IFluentInterface.Equals(object obj): bool
  • removed: method IFluentInterface.GetHashCode(): int
  • removed: method IFluentInterface.GetType(): Type
  • removed: method IFluentInterface.ToString(): string
  • changed: 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> → class RuleBuilder<T, TProperty> implements IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IRuleBuilder<T, TProperty>, IRuleBuilderInitial<T, TProperty>, IRuleBuilderOptions<T, TProperty>
  • changed: ctor DelegateValidator(Func<T, ValidationContext<T>, Task<IEnumerable<ValidationFailure>>> asyncFunc) → ctor DelegateValidator(Func<T, ValidationContext<T>, CancellationToken, Task<IEnumerable<ValidationFailure>>> asyncFunc)
  • changed: method DelegateValidator.ValidateAsync(ValidationContext context): Task<IEnumerable<ValidationFailure>> → method DelegateValidator.ValidateAsync(ValidationContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method DelegateValidator.ValidateAsync(ValidationContext<T> context): Task<IEnumerable<ValidationFailure>> → method DelegateValidator.ValidateAsync(ValidationContext<T> context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method PropertyRule.ValidateAsync(ValidationContext context): Task<IEnumerable<ValidationFailure>> → method PropertyRule.ValidateAsync(ValidationContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • added: class IncludeRule extends PropertyRule
  • added: class MemberAccessor<TObject, TValue>
  • added: const MessageFormatter.PropertyValue: string
  • added: ctor IncludeRule(IValidator validator, Func<CascadeMode> cascadeModeThunk, Type typeToValidate, Type containerType)
  • added: ctor MemberAccessor(Expression<Func<TObject, TValue>> getExpression)
  • added: method DelegateValidator.ApplyAsyncCondition(Func<object, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void
  • added: method MemberAccessor.Equals(object obj): bool
  • added: method MemberAccessor.Get(TObject target): TValue
  • added: method MemberAccessor.GetHashCode(): int
  • added: method MemberAccessor.Set(TObject target, TValue value): void
  • added: method MessageFormatter.AppendPropertyValue(object value): MessageFormatter
  • added: method PropertyRule.ApplyAsyncCondition(Func<object, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void
  • added: method RuleBuilder.SetValidator<TValidator>(Func<T, TValidator> validatorProvider): IRuleBuilderOptions<T, TProperty>
  • added: property MemberAccessor.Member: MemberInfo { get; }
  • added: property RulesetValidatorSelector.RuleSets: string[] { get; }
  • added: protected method CollectionPropertyRule.InvokePropertyValidatorAsync(ValidationContext context, IPropertyValidator validator, string propertyName, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • added: protected method MemberAccessor.Equals(MemberAccessor<TObject, TValue> other): bool
  • added: protected method PropertyRule.InvokePropertyValidatorAsync(ValidationContext context, IPropertyValidator validator, string propertyName, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • added: protected method RulesetValidatorSelector.IsIncludeRule(IValidationRule rule): bool
  • added: static class AccessorCache<T>
  • added: static class MemberAccessor<TObject>
  • added: static method AccessorCache.GetCachedAccessor<TProperty>(MemberInfo member, Expression<Func<T, TProperty>> expression): Func<T, TProperty>
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, Regex> func): Func<object, Regex>
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, Task<bool>> func): Func<object, Task<bool>>
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, int> func): Func<object, int>
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, long> func): Func<object, long>
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, string> func): Func<object, string>
  • added: static method Extensions.IsParameterExpression(LambdaExpression expression): bool
  • added: static method IncludeRule.Create<T>(IValidator validator, Func<CascadeMode> cascadeModeThunk): IncludeRule
  • added: static method MemberAccessor.From<TValue>(Expression<Func<TObject, TValue>> getExpression): MemberAccessor<TObject, TValue>
  • added: static method MemberAccessor.op_Implicit(Expression<Func<TObject, TValue>> this): MemberAccessor<TObject, TValue>
  • added: static method MemberAccessor.op_Implicit(MemberAccessor<TObject, TValue> this): Expression<Func<TObject, TValue>>
  • added: static method MemberNameValidatorSelector.MemberNamesFromExpressions<T>(Expression<Func<T, object>>[] propertyExpressions): string[]
  • changed: method IStringSource.GetString(): string → method IStringSource.GetString(object context): string
  • changed: method LazyStringSource.GetString(): string → method LazyStringSource.GetString(object context): string
  • changed: method LocalizedStringSource.GetString(): string → method LocalizedStringSource.GetString(object context): string
  • changed: method StaticStringSource.GetString(): string → method StaticStringSource.GetString(object context): string
  • added: class FluentValidationMessageFormatException extends Exception
  • added: ctor FluentValidationMessageFormatException(string message)
  • added: ctor FluentValidationMessageFormatException(string message, Exception innerException)
  • added: ctor LazyStringSource(Func<object, string> stringProvider)
  • added: static property Messages.empty_error: string { get; }
  • added: static property Messages.enum_error: string { get; }
  • added: static property Messages.null_error: string { get; }
  • added: property ValidationFailure.ResourceName: string { get; set; }
  • added: property ValidationFailure.Severity: Severity { get; set; }
  • removed: class ValidatorTester<T, TValue>
  • removed: ctor ValidatorTester(Expression<Func<T, TValue>> expression, IValidator<T> validator, TValue value, string ruleSet = …)
  • removed: method ValidatorTester.ValidateError(T instanceToValidate): void
  • removed: method ValidatorTester.ValidateNoError(T instanceToValidate): void
  • changed: static method ValidationTestExtension.ShouldHaveValidationErrorFor<T, TValue>(IValidator<T> validator, Expression<Func<T, TValue>> expression, T objectToTest, string ruleSet = …): void → static method ValidationTestExtension.ShouldHaveValidationErrorFor<T, TValue>(IValidator<T> validator, Expression<Func<T, TValue>> expression, T objectToTest, string ruleSet = …): IEnumerable<ValidationFailure>
  • changed: static method ValidationTestExtension.ShouldHaveValidationErrorFor<T, TValue>(IValidator<T> validator, Expression<Func<T, TValue>> expression, TValue value, string ruleSet = …): void → static method ValidationTestExtension.ShouldHaveValidationErrorFor<T, TValue>(IValidator<T> validator, Expression<Func<T, TValue>> expression, TValue value, string ruleSet = …): IEnumerable<ValidationFailure>
  • added: class TestValidationResult<T, TValue>
  • added: ctor TestValidationResult(ValidationResult validationResult, MemberAccessor<T, TValue> memberAccessor)
  • added: interface ITestPropertyChain<TValue>
  • added: interface IValidationResultTester
  • added: method ITestPropertyChain.Property<TValue1>(Expression<Func<TValue, TValue1>> memberAccessor): ITestPropertyChain<TValue1>
  • added: method ITestPropertyChain.ShouldHaveValidationError(): IEnumerable<ValidationFailure>
  • added: method ITestPropertyChain.ShouldNotHaveValidationError(): void
  • added: method IValidationResultTester.ShouldHaveValidationError(IEnumerable<MemberInfo> properties): IEnumerable<ValidationFailure>
  • added: method IValidationResultTester.ShouldNotHaveValidationError(IEnumerable<MemberInfo> properties): void
  • added: property TestValidationResult.MemberAccessor: MemberAccessor<T, TValue> { get; }
  • added: property TestValidationResult.Result: ValidationResult { get; }
  • added: property TestValidationResult.Which: ITestPropertyChain<TValue> { get; }
  • added: static method ValidationTestExtension.ShouldHaveError<T, TValue>(TestValidationResult<T, TValue> testValidationResult): IEnumerable<ValidationFailure>
  • added: static method ValidationTestExtension.ShouldNotHaveError<T, TValue>(TestValidationResult<T, TValue> testValidationResult): void
  • added: static method ValidationTestExtension.TestValidate<T>(IValidator<T> validator, T objectToTest, string ruleSet = …): TestValidationResult<T, T>
  • added: static method ValidationTestExtension.When(IEnumerable<ValidationFailure> failures, Func<ValidationFailure, bool> failurePredicate, string exceptionMessage = …): IEnumerable<ValidationFailure>
  • added: static method ValidationTestExtension.WithCustomState(IEnumerable<ValidationFailure> failures, object expectedCustomState): IEnumerable<ValidationFailure>
  • added: static method ValidationTestExtension.WithErrorCode(IEnumerable<ValidationFailure> failures, string expectedErrorCode): IEnumerable<ValidationFailure>
  • added: static method ValidationTestExtension.WithErrorMessage(IEnumerable<ValidationFailure> failures, string expectedErrorMessage): IEnumerable<ValidationFailure>
  • removed: ctor ScalePrecisionValidator(int scale, int precision, Expression<Func<string>> errorMessageResourceSelector)
  • removed: property ChildValidatorAdaptor.Validator: IValidator { get; }
  • removed: protected ctor AsyncValidatorBase(Expression<Func<string>> errorMessageResourceSelector)
  • changed: ctor AsyncPredicateValidator(Func<object, object, PropertyValidatorContext, Task<bool>> predicate) → ctor AsyncPredicateValidator(Func<object, object, PropertyValidatorContext, CancellationToken, Task<bool>> predicate)
  • changed: ctor LengthValidator(int min, int max, Expression<Func<string>> errorMessageResourceSelector) → ctor LengthValidator(Func<object, int> min, Func<object, int> max)
  • changed: ctor MaximumLengthValidator(int max, Expression<Func<string>> errorMessageResourceSelector) → ctor MaximumLengthValidator(Func<object, int> max)
  • changed: ctor MinimumLengthValidator(int min, Expression<Func<string>> errorMessageResourceSelector) → ctor MinimumLengthValidator(Func<object, int> min)
  • changed: method ChildCollectionValidatorAdaptor.ValidateAsync(PropertyValidatorContext context): Task<IEnumerable<ValidationFailure>> → method ChildCollectionValidatorAdaptor.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method ChildValidatorAdaptor.ValidateAsync(PropertyValidatorContext context): Task<IEnumerable<ValidationFailure>> → method ChildValidatorAdaptor.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method DelegatingValidator.ValidateAsync(PropertyValidatorContext context): Task<IEnumerable<ValidationFailure>> → method DelegatingValidator.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method IPropertyValidator.ValidateAsync(PropertyValidatorContext context): Task<IEnumerable<ValidationFailure>> → method IPropertyValidator.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method NoopPropertyValidator.ValidateAsync(PropertyValidatorContext context): Task<IEnumerable<ValidationFailure>> → method NoopPropertyValidator.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: method PropertyValidator.ValidateAsync(PropertyValidatorContext context): Task<IEnumerable<ValidationFailure>> → method PropertyValidator.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • changed: property PropertyValidatorContext.PropertyValue: object { get; set; } → property PropertyValidatorContext.PropertyValue: object { get; }
  • changed: protected ctor AbstractComparisonValidator(Func<object, object> valueToCompareFunc, MemberInfo member, Expression<Func<string>> errorMessageSelector) → protected ctor AbstractComparisonValidator(Func<object, object> valueToCompareFunc, MemberInfo member, string resourceName, Type resourceType)
  • changed: protected ctor AbstractComparisonValidator(IComparable value, Expression<Func<string>> errorMessageSelector) → protected ctor AbstractComparisonValidator(IComparable value, string resourceName, Type resourceType)
  • changed: protected method AsyncPredicateValidator.IsValidAsync(PropertyValidatorContext context): Task<bool> → protected method AsyncPredicateValidator.IsValidAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<bool>
  • changed: protected method AsyncValidatorBase.IsValidAsync(PropertyValidatorContext context): Task<bool> → protected method AsyncValidatorBase.IsValidAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<bool>
  • changed: protected method ChildValidatorAdaptor.GetValidator(PropertyValidatorContext context): IValidator → method ChildValidatorAdaptor.GetValidator(PropertyValidatorContext context): IValidator
  • changed: protected method PropertyValidator.IsValidAsync(PropertyValidatorContext context): Task<bool> → protected method PropertyValidator.IsValidAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<bool>
  • added: class EmptyValidator extends PropertyValidator implements IEmptyValidator, IPropertyValidator
  • added: class EnumValidator extends PropertyValidator
  • added: class NullValidator extends PropertyValidator implements INullValidator, IPropertyValidator
  • added: ctor ChildValidatorAdaptor(Func<object, IValidator> validatorProvider, Type validatorType)
  • added: ctor DelegatingValidator(Func<object, Task<bool>> asyncCondition, IPropertyValidator innerValidator)
  • added: ctor EmptyValidator(object defaultValueForType)
  • added: ctor EnumValidator(Type enumType)
  • added: ctor ExactLengthValidator(Func<object, int> length)
  • added: ctor LengthValidator(Func<object, int> min, Func<object, int> max, string resourceName, Type resourceType)
  • added: ctor LengthValidator(int min, int max, string resourceName, Type resourceType)
  • added: ctor MaximumLengthValidator(Func<object, int> max, string resourceName, Type resourceType)
  • added: ctor MaximumLengthValidator(int max, string resourceName, Type resourceType)
  • added: ctor MinimumLengthValidator(Func<object, int> min, string resourceName, Type resourceType)
  • added: ctor MinimumLengthValidator(int min, string resourceName, Type resourceType)
  • added: ctor NullValidator()
  • added: ctor PropertyValidatorContext(ValidationContext parentContext, PropertyRule rule, string propertyName, object propertyValue)
  • added: ctor RegularExpressionValidator(Func<object, Regex> regexFunc)
  • added: ctor RegularExpressionValidator(Func<object, string> expression, RegexOptions options)
  • added: ctor RegularExpressionValidator(Func<object, string> expressionFunc)
  • added: interface IEmptyValidator extends IPropertyValidator
  • added: interface IIndexedCollectionItem
  • added: interface INullValidator extends IPropertyValidator
  • added: property ChildValidatorAdaptor.ValidatorType: Type { get; }
  • added: property DelegatingValidator.ErrorCodeSource: IStringSource { get; set; }
  • added: property DelegatingValidator.Severity: Severity { get; set; }
  • added: property IIndexedCollectionItem.Index: string { get; }
  • added: property IPropertyValidator.ErrorCodeSource: IStringSource { get; set; }
  • added: property IPropertyValidator.Severity: Severity { get; set; }
  • added: property LengthValidator.MaxFunc: Func<object, int> { get; set; }
  • added: property LengthValidator.MinFunc: Func<object, int> { get; set; }
  • added: property NoopPropertyValidator.ErrorCodeSource: IStringSource { get; set; }
  • added: property NoopPropertyValidator.Severity: Severity { get; set; }
  • added: property PropertyValidator.ErrorCodeSource: IStringSource { get; set; }
  • added: property PropertyValidator.Severity: Severity { get; set; }
  • added: protected method EmptyValidator.IsValid(PropertyValidatorContext context): bool
  • added: protected method EnumValidator.IsValid(PropertyValidatorContext context): bool
  • added: protected method NullValidator.IsValid(PropertyValidatorContext context): bool
  • added: protected method PropertyValidator.PrepareMessageFormatterForValidationError(PropertyValidatorContext context): void