github FluentValidation/FluentValidation 9.0.0

latest releases: 11.9.1, 11.9.0, 11.8.1...
3 years ago

Release notes

FluentValidation 9 is a major release and includes several breaking changes. Please read the upgrade guide for full details

Changes in 9.0.0

  • ASP.NET core auto-validation can now be completely disabled while preserving clientside integration
  • Types can now be filtered/skipped when auto-registering with the container
  • Service lifetime is now configurable when auto-registering with the container

Changes in 9.0-preview5

  • Remove IValidator.Validate(object) overload to improve typesafety (use a context if you need to preserve this behaviour)
  • Replace non-generic ValidationContext class with IValidationContext interface
  • ChildValidatorAdaptor and IncludeRule now require a generic type parameter indicating the root type being validated
  • Expression accessors for comparison properties are now cached where possible
  • {ComparisonProperty} placeholder now passes through the same logic as the {PropertyName} placeholder for consistency

Changes in 9.0-preview4

  • {CollectionIndex} placeholder can now be accessed in child validators
  • Additional ValidationException constructor that allows customising the default message.
  • ScalePrecisionValidator algorithm now more consistent with SQL server (#1356)
  • Add Icelandic translations of default messages (#1362)
  • Additional When predicate overload that takes a ValidationContext
  • Fixes to range clientside validators when using datetimes (#1371)
  • Drop unsupported .NET Core versions from platform list

Changes in 9.0-preview3

  • ASP.NET Core validator provider is now public
  • Ensure ASP.NET Core providers aren't registered twice
  • SoureLink integration
  • Additional overload of SetValidator that receives property value in callback
  • PropertyRule.ApplySharedCondition is now public
  • Remove lowercase placeholders from ScalePrecisionValidator

Changes in 9.0-preview2

  • Transform can now be used to transform a property value to another type prior to validation occurring
  • Added WithMessageArgument to test helper extensions
  • Added Slovenian translations of default error messages.
  • Fixes/better handling of the non-generic overloads of AbstractValidator.Validate
  • Removed the deprecated FluentValidation.Internal.Comparer
  • TrackingCollection has been marked as internal
  • Updated to latest version of Microsoft.NETFramework.ReferenceAssemblies for building net4x targets on non-windows platforms.

Changes in 9.0-preview1

  • Removed support for netstandard1.1, netstandard1.6, net45 (Supported platforms are now netstandard2, net461, netcoreapp2.1, netcoreapp3.0, netcoreapp3.1)
  • Removed WithLocalizedMessage (WithMessage that takes a callback is the replacement)
  • Removed ResourceName from ValidationFailure
  • Removed ResourceName and ResourceType from IStringSource.
  • Removed SetCollectionValidator which was deprecated in 8.0
  • Additional overload of OnAnyFailure that can receive a collection of validation failures
  • Remove DisplayAttribute integration and reference to DataAnnotations.
  • Default email validation mode now uses the same logic as ASP.NET Core. Previous regex behaviour is opt-in.
  • ComparisonProperty placeholder is now formatted like PropertyName.
  • TestHelper syntax improvements
  • Equal/NotEqual now perform ordinal comparisons on string properties by default
  • Severity can be set with a callback
  • PropertyValidator.ShouldValidateAsync reanamed to ShouldValidateAsynchronously to remove confusion where the naming suggested this was an async method
  • Removed various methods from MessageFormatter that were deprecated in 8.x
  • PropertyValidatorContext.Instance renamed to InstanceToValidate for consistency with ValidationContext.
  • Removed DelegatingValidator which was deprecated in 8.x.

Downloads

Binaries can be downloaded from nuget:

Don't miss a new FluentValidation release

NewReleases is sending notifications on new releases.