Skip to content

Upgrading FluentValidation 6 to 7

Unknown6.4.1 → 7.6.105

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.

Target frameworks requirement changed in 7.5.1: .NETFramework4.5, .NETPortable0.0-Profile259, .NETPortable0.0-Profile328, .NETStandard1.0, UAP10.0 → .NETFramework4.5, .NETStandard1.1, .NETStandard1.6, .NETStandard2.0.

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

  • removed: class DependentRules<T> extends AbstractValidator<T>
  • removed: ctor DependentRules()
  • removed: property IValidationRule.RuleSet: string { get; set; }
  • removed: static class PropertyRuleValidatorExtensions
  • removed: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, Func<T, object>[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, IResourceAccessorBuilder resourceAccessorBuilder): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName, Func<T, object>[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithLocalizedName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, IResourceAccessorBuilder resourceAccessorBuilder = …): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorMessage, Func<T, object>[] funcs): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorMessage, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • removed: static method DefaultValidatorOptions.WithPropertyName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string propertyName): IRuleBuilderOptions<T, TProperty>
  • removed: static method PropertyRuleValidatorExtensions.ClearRules<T>(IValidator<T> validators, Expression<Func<T, object>> expression): void
  • removed: static method PropertyRuleValidatorExtensions.RemoveRule<T>(IValidator<T> validators, Expression<Func<T, object>> expression, Type oldValidatorType): void
  • removed: static method PropertyRuleValidatorExtensions.ReplaceRule<T>(IValidator<T> validators, Expression<Func<T, object>> expression, IPropertyValidator newValidator): void
  • changed: method IValidationRule.ApplyAsyncCondition(Func<object, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void → method IValidationRule.ApplyAsyncCondition(Func<ValidationContext, CancellationToken, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void
  • changed: method IValidationRule.ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = …): void → method IValidationRule.ApplyCondition(Func<ValidationContext, bool> predicate, ApplyConditionTo applyConditionTo = …): void
  • changed: static method DefaultValidatorExtensions.ValidateAndThrowAsync<T>(IValidator<T> validator, T instance, string ruleSet = …): Task → static method DefaultValidatorExtensions.ValidateAndThrowAsync<T>(IValidator<T> validator, T instance, string ruleSet = …, CancellationToken cancellationToken = …): Task
  • changed: static method DefaultValidatorExtensions.ValidateAsync<T>(IValidator<T> validator, T instance, Expression<Func<T, object>>[] propertyExpressions): Task<ValidationResult> → static method DefaultValidatorExtensions.ValidateAsync<T>(IValidator<T> validator, T instance, CancellationToken cancellationToken = …, Expression<Func<T, object>>[] propertyExpressions): Task<ValidationResult>
  • changed: static method DefaultValidatorExtensions.ValidateAsync<T>(IValidator<T> validator, T instance, IValidatorSelector selector = …, string ruleSet = …): Task<ValidationResult> → static method DefaultValidatorExtensions.ValidateAsync<T>(IValidator<T> validator, T instance, CancellationToken cancellationToken = …, IValidatorSelector selector = …, string ruleSet = …): Task<ValidationResult>
  • changed: static method DefaultValidatorExtensions.ValidateAsync<T>(IValidator<T> validator, T instance, string[] properties): Task<ValidationResult> → static method DefaultValidatorExtensions.ValidateAsync<T>(IValidator<T> validator, T instance, CancellationToken cancellationToken = …, string[] properties): Task<ValidationResult>
  • changed: static method DefaultValidatorOptions.DependentRules<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Action<DependentRules<T>> action): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorOptions.DependentRules<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Action action): IRuleBuilderOptions<T, TProperty>
  • changed: static method DefaultValidatorOptions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorMessage, Func<T, TProperty, object>[] funcs): IRuleBuilderOptions<T, TProperty> → static method DefaultValidatorOptions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, TProperty, string> messageProvider): IRuleBuilderOptions<T, TProperty>
  • added: ctor ValidationException(SerializationInfo info, StreamingContext context)
  • added: method AbstractValidator.Include<TValidator>(Func<T, TValidator> rulesToInclude): void
  • added: method AbstractValidator.UnlessAsync(Func<T, CancellationToken, Task<bool>> predicate, Action action): void
  • added: method AbstractValidator.WhenAsync(Func<T, CancellationToken, Task<bool>> predicate, Action action): void
  • added: method ValidationContext.CloneForChildCollectionValidator(object instanceToValidate): ValidationContext
  • added: method ValidationException.GetObjectData(SerializationInfo info, StreamingContext context): void
  • added: property IValidationRule.RuleSets: string[] { get; set; }
  • added: property ValidationContext.IsChildCollectionContext: bool { get; }
  • added: protected method AbstractValidator.EnsureInstanceNotNull(object instanceToValidate): void
  • added: protected method AbstractValidator.PreValidate(ValidationContext<T> context, ValidationResult result): bool
  • added: static class BackwardsCompatibilityExtensions
  • added: static method AssemblyScanner.FindValidatorsInAssemblies(IEnumerable<Assembly> assemblies): AssemblyScanner
  • added: static method BackwardsCompatibilityExtensions.ClearRules<T>(IValidator<T> validators, Expression<Func<T, object>> expression): void
  • added: static method BackwardsCompatibilityExtensions.RemoveRule<T>(IValidator<T> validators, Expression<Func<T, object>> expression, Type oldValidatorType): void
  • added: static method BackwardsCompatibilityExtensions.ReplaceRule<T>(IValidator<T> validators, Expression<Func<T, object>> expression, IPropertyValidator newValidator): void
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, Func<T, object>[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, IResourceAccessorBuilder resourceAccessorBuilder): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName, Func<T, object>[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<string>> resourceSelector, IResourceAccessorBuilder resourceAccessorBuilder = …): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithLocalizedName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Type resourceType, string resourceName): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorMessage, Func<T, TProperty, object>[] funcs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorMessage, Func<T, object>[] funcs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithMessage<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string errorMessage, object[] formatArgs): IRuleBuilderOptions<T, TProperty>
  • added: static method BackwardsCompatibilityExtensions.WithPropertyName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, string propertyName): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorExtensions.Custom<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Action<TProperty, CustomContext> action): IRuleBuilderInitial<T, TProperty>
  • added: static method DefaultValidatorExtensions.CustomAsync<T, TProperty>(IRuleBuilder<T, TProperty> ruleBuilder, Func<TProperty, CustomContext, CancellationToken, Task> action): IRuleBuilderInitial<T, TProperty>
  • added: static method DefaultValidatorExtensions.MaximumLength<T>(IRuleBuilder<T, string> ruleBuilder, int maximumLength): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorExtensions.MinimumLength<T>(IRuleBuilder<T, string> ruleBuilder, int minimumLength): IRuleBuilderOptions<T, string>
  • added: static method DefaultValidatorOptions.DependentRules<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Action<InlineValidator<T>> action): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.GetStringForValidator<T>(ILanguageManager languageManager): string
  • added: static method DefaultValidatorOptions.OverridePropertyName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Expression<Func<T, TProperty>> expr): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.Transform<T, TProperty>(IRuleBuilderInitial<T, TProperty> ruleBuilder, Func<TProperty, TProperty> transformationFunc): IRuleBuilderInitial<T, TProperty>
  • added: static method DefaultValidatorOptions.UnlessAsync<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, CancellationToken, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WhenAsync<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, CancellationToken, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithName<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, string> nameProvider): IRuleBuilderOptions<T, TProperty>
  • added: static method DefaultValidatorOptions.WithState<T, TProperty>(IRuleBuilderOptions<T, TProperty> rule, Func<T, TProperty, object> stateProvider): IRuleBuilderOptions<T, TProperty>
  • added: static property ValidatorOptions.ErrorCodeResolver: Func<PropertyValidator, string> { get; set; }
  • added: static property ValidatorOptions.LanguageManager: ILanguageManager { get; set; }
  • added: static property ValidatorOptions.MessageFormatterFactory: Func<MessageFormatter> { get; set; }
  • removed: class InstanceCache
  • removed: ctor InstanceCache()
  • removed: method InstanceCache.GetOrCreateInstance(Type type): object
  • removed: method InstanceCache.GetOrCreateInstance(Type type, Func<Type, object> factory): object
  • removed: property DelegateValidator.RuleSet: string { get; set; }
  • removed: property PropertyRule.RuleSet: string { get; set; }
  • changed: class RuleBuilder<T, TProperty> implements IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IRuleBuilder<T, TProperty>, IRuleBuilderInitial<T, TProperty>, IRuleBuilderOptions<T, TProperty> → class RuleBuilder<T, TProperty> implements IConfigurable<PropertyRule, IRuleBuilderInitial<T, TProperty>>, IConfigurable<PropertyRule, IRuleBuilderOptions<T, TProperty>>, IExposesParentValidator<T>, IRuleBuilder<T, TProperty>, IRuleBuilderInitial<T, TProperty>, IRuleBuilderOptions<T, TProperty>
  • changed: ctor MemberAccessor(Expression<Func<TObject, TValue>> getExpression) → ctor MemberAccessor(Expression<Func<TObject, TValue>> getExpression, bool writeable)
  • changed: ctor RuleBuilder(PropertyRule rule) → ctor RuleBuilder(PropertyRule rule, IValidator<T> parent)
  • changed: method DelegateValidator.ApplyAsyncCondition(Func<object, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void → method DelegateValidator.ApplyAsyncCondition(Func<ValidationContext, CancellationToken, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void
  • changed: method DelegateValidator.ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = …): void → method DelegateValidator.ApplyCondition(Func<ValidationContext, bool> predicate, ApplyConditionTo applyConditionTo = …): void
  • changed: method PropertyRule.ApplyAsyncCondition(Func<object, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void → method PropertyRule.ApplyAsyncCondition(Func<ValidationContext, CancellationToken, Task<bool>> predicate, ApplyConditionTo applyConditionTo = …): void
  • changed: method PropertyRule.ApplyCondition(Func<object, bool> predicate, ApplyConditionTo applyConditionTo = …): void → method PropertyRule.ApplyCondition(Func<ValidationContext, bool> predicate, ApplyConditionTo applyConditionTo = …): void
  • changed: property PropertyRule.MessageBuilder: Func<PropertyValidatorContext, string> { get; set; } → property PropertyRule.MessageBuilder: Func<MessageBuilderContext, string> { get; set; }
  • changed: static method MemberAccessor.From<TValue>(Expression<Func<TObject, TValue>> getExpression): MemberAccessor<TObject, TValue> → static method MemberAccessor.From<TValue>(Expression<Func<TObject, TValue>> getExpression, bool writeable = …): MemberAccessor<TObject, TValue>
  • added: class MessageBuilderContext
  • added: ctor IncludeRule(Func<object, IValidator> func, Func<CascadeMode> cascadeModeThunk, Type typeToValidate, Type containerType, Type validatorType)
  • added: ctor MessageBuilderContext(PropertyValidatorContext innerContext, IStringSource errorSource, IPropertyValidator propertyValidator)
  • added: method IncludeRule.Validate(ValidationContext context): IEnumerable<ValidationFailure>
  • added: method IncludeRule.ValidateAsync(ValidationContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • added: method MessageBuilderContext.GetDefaultMessage(): string
  • added: method PropertyRule.GetDisplayName(object model): string
  • added: method TrackingCollection.Remove(T item): void
  • added: property DelegateValidator.RuleSets: string[] { get; set; }
  • added: property MemberNameValidatorSelector.MemberNames: IEnumerable<string> { get; }
  • added: property MessageBuilderContext.DisplayName: string { get; }
  • added: property MessageBuilderContext.ErrorSource: IStringSource { get; }
  • added: property MessageBuilderContext.Instance: object { get; }
  • added: property MessageBuilderContext.MessageFormatter: MessageFormatter { get; }
  • added: property MessageBuilderContext.ParentContext: ValidationContext { get; }
  • added: property MessageBuilderContext.PropertyName: string { get; }
  • added: property MessageBuilderContext.PropertyValidator: IPropertyValidator { get; }
  • added: property MessageBuilderContext.PropertyValue: object { get; }
  • added: property MessageBuilderContext.Rule: PropertyRule { get; }
  • added: property PropertyRule.RuleSets: string[] { get; set; }
  • added: property PropertyRule.Transformer: Func<object, object> { get; set; }
  • added: property RuleBuilder.ParentValidator: IValidator<T> { get; }
  • added: protected method MessageFormatter.GetPlaceholder(string key): string
  • added: protected method MessageFormatter.ReplacePlaceholderWithValue(string template, string key, object value): string
  • added: static method AccessorCache.Clear(): void
  • added: static method Extensions.CoerceToNonGeneric<T>(Func<T, CancellationToken, Task<bool>> func): Func<object, CancellationToken, Task<bool>>
  • added: static method Extensions.IsAsync(ValidationContext ctx): bool
  • added: static method IncludeRule.Create<T, TValidator>(Func<T, TValidator> func, Func<CascadeMode> cascadeModeThunk): IncludeRule
  • added: static method MessageBuilderContext.op_Implicit(MessageBuilderContext ctx): PropertyValidatorContext
  • removed: class FallbackAwareResourceAccessorBuilder extends StaticResourceAccessorBuilder
  • removed: class Messages
  • removed: class StaticResourceAccessorBuilder implements IResourceAccessorBuilder
  • removed: ctor FallbackAwareResourceAccessorBuilder()
  • removed: ctor LazyStringSource(Func<string> stringProvider)
  • removed: ctor StaticResourceAccessorBuilder()
  • removed: method StaticResourceAccessorBuilder.GetResourceAccessor(Type resourceType, string resourceName): ResourceAccessor
  • removed: protected method FallbackAwareResourceAccessorBuilder.GetResourceProperty(ref Type resourceType, ref string resourceName): PropertyInfo
  • removed: protected method StaticResourceAccessorBuilder.GetResourceProperty(ref Type resourceType, ref string resourceName): PropertyInfo
  • removed: static property Messages.CreditCardError: string { get; }
  • removed: static property Messages.Culture: CultureInfo { get; set; }
  • removed: static property Messages.ResourceManager: ResourceManager { get; }
  • removed: static property Messages.email_error: string { get; }
  • removed: static property Messages.empty_error: string { get; }
  • removed: static property Messages.enum_error: string { get; }
  • removed: static property Messages.equal_error: string { get; }
  • removed: static property Messages.exact_length_error: string { get; }
  • removed: static property Messages.exclusivebetween_error: string { get; }
  • removed: static property Messages.greaterthan_error: string { get; }
  • removed: static property Messages.greaterthanorequal_error: string { get; }
  • removed: static property Messages.inclusivebetween_error: string { get; }
  • removed: static property Messages.length_error: string { get; }
  • removed: static property Messages.lessthan_error: string { get; }
  • removed: static property Messages.lessthanorequal_error: string { get; }
  • removed: static property Messages.notempty_error: string { get; }
  • removed: static property Messages.notequal_error: string { get; }
  • removed: static property Messages.notnull_error: string { get; }
  • removed: static property Messages.null_error: string { get; }
  • removed: static property Messages.predicate_error: string { get; }
  • removed: static property Messages.regex_error: string { get; }
  • removed: static property Messages.scale_precision_error: string { get; }
  • added: class LanguageManager implements ILanguageManager
  • added: class LanguageStringSource implements IStringSource
  • added: class OverridableLocalizedStringSource extends LocalizedStringSource
  • added: ctor LanguageManager()
  • added: ctor LanguageStringSource(string key)
  • added: ctor LocalizedStringSource(Type resourceType, string resourceName)
  • added: ctor OverridableLocalizedStringSource(Type resourceType, string resourceName)
  • added: interface ILanguageManager
  • added: method ILanguageManager.GetString(string key, CultureInfo culture = …): string
  • added: method LanguageManager.AddTranslation(string language, string key, string message): void
  • added: method LanguageManager.Clear(): void
  • added: method LanguageManager.GetString(string key, CultureInfo culture = …): string
  • added: method LanguageManager.GetSupportedLanguages(): IEnumerable<string>
  • added: method LanguageManager.GetSupportedTranslationKeys(): IEnumerable<string>
  • added: method LanguageStringSource.GetString(object context): string
  • added: property ILanguageManager.Culture: CultureInfo { get; set; }
  • added: property ILanguageManager.Enabled: bool { get; set; }
  • added: property LanguageManager.Culture: CultureInfo { get; set; }
  • added: property LanguageManager.Enabled: bool { get; set; }
  • added: property LanguageStringSource.ResourceName: string { get; }
  • added: property LanguageStringSource.ResourceType: Type { get; }
  • added: protected method LocalizedStringSource.BuildResourceAccessor(Type resourceType, string resourceName): ResourceAccessor
  • added: protected method LocalizedStringSource.GetResourceProperty(ref Type resourceType, ref string resourceName): PropertyInfo
  • added: protected method OverridableLocalizedStringSource.GetResourceProperty(ref Type resourceType, ref string resourceName): PropertyInfo
  • added: static method OverridableLocalizedStringSource.CreateFromExpression(Expression<Func<string>> expression): IStringSource
  • changed: ctor ValidationFailure(string propertyName, string error) → ctor ValidationFailure(string propertyName, string errorMessage)
  • changed: ctor ValidationFailure(string propertyName, string error, object attemptedValue) → ctor ValidationFailure(string propertyName, string errorMessage, object attemptedValue)
  • changed: property ValidationFailure.AttemptedValue: object { get; } → property ValidationFailure.AttemptedValue: object { get; set; }
  • changed: property ValidationFailure.ErrorMessage: string { get; } → property ValidationFailure.ErrorMessage: string { get; set; }
  • changed: property ValidationFailure.PropertyName: string { get; } → property ValidationFailure.PropertyName: string { get; set; }
  • added: method ValidationResult.ToString(): string
  • added: method ValidationResult.ToString(string separator): string
  • added: ctor ValidationTestException(string message, List<ValidationFailure> errors)
  • added: property ValidationTestException.Errors: List<ValidationFailure> { get; }
  • removed: ctor LengthValidator(Func<object, int> min, Func<object, int> max, string resourceName, Type resourceType)
  • removed: ctor LengthValidator(int min, int max, string resourceName, Type resourceType)
  • removed: ctor MaximumLengthValidator(Func<object, int> max, string resourceName, Type resourceType)
  • removed: ctor MaximumLengthValidator(int max, string resourceName, Type resourceType)
  • removed: ctor MinimumLengthValidator(Func<object, int> min, string resourceName, Type resourceType)
  • removed: ctor MinimumLengthValidator(int min, string resourceName, Type resourceType)
  • removed: ctor ScalePrecisionValidator(int scale, int precision, string errorMessage)
  • removed: ctor ScalePrecisionValidator(int scale, int precision, string errorMessageResourceName, Type errorMessageResourceType)
  • removed: property DelegatingValidator.CustomMessageFormatArguments: ICollection<Func<object, object, object>> { get; }
  • removed: property IPropertyValidator.CustomMessageFormatArguments: ICollection<Func<object, object, object>> { get; }
  • removed: property NoopPropertyValidator.SupportsStandaloneValidation: bool { get; }
  • removed: property PropertyValidator.CustomMessageFormatArguments: ICollection<Func<object, object, object>> { get; }
  • changed: abstract class AsyncValidatorBase extends PropertyValidator → abstract class AsyncValidatorBase extends PropertyValidator implements IShouldValidateAsync
  • changed: class ChildCollectionValidatorAdaptor extends NoopPropertyValidator → class ChildCollectionValidatorAdaptor extends NoopPropertyValidator implements IShouldValidateAsync
  • changed: class ChildValidatorAdaptor extends NoopPropertyValidator → class ChildValidatorAdaptor extends NoopPropertyValidator implements IShouldValidateAsync
  • changed: class DelegatingValidator implements IDelegatingValidator, IPropertyValidator → class DelegatingValidator implements IDelegatingValidator, IPropertyValidator, IShouldValidateAsync
  • changed: ctor DelegatingValidator(Func<object, Task<bool>> asyncCondition, IPropertyValidator innerValidator) → ctor DelegatingValidator(Func<ValidationContext, CancellationToken, Task<bool>> asyncCondition, IPropertyValidator innerValidator)
  • changed: ctor DelegatingValidator(Func<object, bool> condition, IPropertyValidator innerValidator) → ctor DelegatingValidator(Func<ValidationContext, bool> condition, IPropertyValidator innerValidator)
  • changed: method DelegatingValidator.CheckCondition(object instance): bool → method DelegatingValidator.CheckCondition(ValidationContext context): bool
  • changed: method IDelegatingValidator.CheckCondition(object instance): bool → method IDelegatingValidator.CheckCondition(ValidationContext context): bool
  • changed: property DelegatingValidator.CustomStateProvider: Func<object, object> { get; set; } → property DelegatingValidator.CustomStateProvider: Func<PropertyValidatorContext, object> { get; set; }
  • changed: property IPropertyValidator.CustomStateProvider: Func<object, object> { get; set; } → property IPropertyValidator.CustomStateProvider: Func<PropertyValidatorContext, object> { get; set; }
  • changed: property NoopPropertyValidator.CustomStateProvider: Func<object, object> { get; set; } → property NoopPropertyValidator.CustomStateProvider: Func<PropertyValidatorContext, object> { get; set; }
  • changed: property PropertyValidator.CustomStateProvider: Func<object, object> { get; set; } → property PropertyValidator.CustomStateProvider: Func<PropertyValidatorContext, object> { get; set; }
  • changed: protected ctor AbstractComparisonValidator(Func<object, object> valueToCompareFunc, MemberInfo member, string resourceName, Type resourceType) → protected ctor AbstractComparisonValidator(Func<object, object> valueToCompareFunc, MemberInfo member, IStringSource errorSource)
  • changed: protected ctor AbstractComparisonValidator(IComparable value, string resourceName, Type resourceType) → protected ctor AbstractComparisonValidator(IComparable value, IStringSource errorSource)
  • added: class CustomContext
  • added: class CustomValidator<T> extends PropertyValidator implements IShouldValidateAsync
  • added: ctor CustomContext(PropertyValidatorContext context)
  • added: ctor CustomValidator(Action<T, CustomContext> action)
  • added: ctor CustomValidator(Func<T, CustomContext, CancellationToken, Task> asyncAction)
  • added: interface IShouldValidateAsync
  • added: method AbstractComparisonValidator.GetComparisonValue(PropertyValidatorContext context): IComparable
  • added: method AsyncValidatorBase.ShouldValidateAsync(ValidationContext context): bool
  • added: method ChildCollectionValidatorAdaptor.ShouldValidateAsync(ValidationContext context): bool
  • added: method ChildValidatorAdaptor.ShouldValidateAsync(ValidationContext context): bool
  • added: method CustomContext.AddFailure(ValidationFailure failure): void
  • added: method CustomContext.AddFailure(string errorMessage): void
  • added: method CustomContext.AddFailure(string propertyName, string errorMessage): void
  • added: method CustomValidator.ShouldValidateAsync(ValidationContext context): bool
  • added: method CustomValidator.Validate(PropertyValidatorContext context): IEnumerable<ValidationFailure>
  • added: method CustomValidator.ValidateAsync(PropertyValidatorContext context, CancellationToken cancellation): Task<IEnumerable<ValidationFailure>>
  • added: method DelegatingValidator.ShouldValidateAsync(ValidationContext context): bool
  • added: method IShouldValidateAsync.ShouldValidateAsync(ValidationContext context): bool
  • added: property CustomContext.DisplayName: string { get; }
  • added: property CustomContext.MessageFormatter: MessageFormatter { get; }
  • added: property CustomContext.ParentContext: ValidationContext { get; }
  • added: property CustomContext.PropertyName: string { get; }
  • added: property CustomContext.Rule: PropertyRule { get; }
  • added: property CustomValidator.IsAsync: bool { get; }
  • added: property PropertyValidatorContext.DisplayName: string { get; }
  • added: protected ctor AsyncValidatorBase(IStringSource errorSource)
  • added: protected ctor PropertyValidator(IStringSource errorMessageSource)
  • added: protected method CustomValidator.IsValid(PropertyValidatorContext context): bool