Release notes
*Sourced from [FluentValidation's releases](https://github.com/JeremySkinner/fluentvalidation/releases).*
> ## 8.5.0
> # Release notes
>
> - Add support for ASP.NET Core 3.
> - Add ASP.NET Core-compatible version of the email address validator.
> - Simplify the advanced test-helper syntax.
> - Add support for defining child rules inline when using `RuleForEach`.
> - `ValidatorDescriptor` now has consistent handling of model-level rules.
> - `RuleForEach` can now access collection index in error message with `{CollectionIndex}` placeholder.
> - Welsh language translations of default error messages.
> - Hungrian language translations of default error messages.
> - Indonesian language translations of default error messages.
> - Using `RuleForEach` combined with `When` has more intuitive behaviour.
> - Fixed order of rule execution when using async validation.
>
> Of these new features, the main one to note is the new `ChildRules` syntax. When defining a rule against a collection of complex types, rules for the child properties can be defined directly inline rather than having to use a child validator:
>
> ```csharp
> public class CustomerValidator : AbstractValidator {
> public CustomerValidator() {
> RuleForEach(x => x.Orders).ChildRules(order => {
> order.RuleFor(x => x.ProductName).NotNull();
> order.RuleFor(x => x.Amount).GreaterThan(0);
> });
> }
> }
> ```
>
> # Downloads
>
> Binaries can be downloaded from nuget:
> - [FluentValidation](http://nuget.org/packages/fluentvalidation) - Main package
> - [FluentValidation.AspNetCore](http://nuget.org/packages/fluentvalidation.aspnetcore) - ASP.NET Core integration
> - [FluentValidation.WebApi](http://nuget.org/packages/fluentvalidation.webapi) - Legacy ASP.NET Web Api 2 integration (deprecated)
> - [FluentValidation.Mvc5](http://nuget.org/packages/fluentvalidation.mvc5) - Legacy ASP.NET MVC 5 integration (deprecated)
>
> ## 8.4.0
> # Release notes
>
> - Added simplified version of several messages across all translations to aid with ASP.NET Clientside validation.
> - New enum validator for string properties.
>
> # Downloads
>
> Binaries can be downloaded from nuget:
> - [FluentValidation](http://nuget.org/packages/fluentvalidation) - Main package
> - [FluentValidation.AspNetCore](http://nuget.org/packages/fluentvalidation.aspnetcore) - ASP.NET Core integration
> - [FluentValidation.WebApi](http://nuget.org/packages/fluentvalidation.webapi) - Legacy ASP.NET Web Api 2 integration (deprecated)
> - [FluentValidation.Mvc5](http://nuget.org/packages/fluentvalidation.mvc5) - Legacy ASP.NET MVC 5 integration (deprecated)
>
> ... (truncated)
Changelog
*Sourced from [FluentValidation's changelog](https://github.com/JeremySkinner/FluentValidation/blob/master/Changelog.txt).*
> 8.5.0 - 24 September 2019
> Add ASP.NET Core-compatible version of the email address validator.
> Simplify the advanced testhelper syntax.
> Add support for ASP.NET Core 3.
> Add support for defining child rules inline.
> ValidatorDescriptor now has consistent handling of model-level rules.
> RuleForEach can now access collection index in error message with {CollectionIndex} placeholder.
> Welsh language translations of default error messages.
> Hungrian language translations of default error messages.
> Indonesian language translations of default error messages.
> Using RuleForEach combined with When is now more intuitive.
> Fixed order of rule execution when using async validation.
>
> 8.4.0 - 10 May 2019
> Added simplified version of several messages across all translations to aid with ASP.NET Clientside validation.
> New enum validator for string properties.
>
> 8.3.0 - 24 April 2019
> Fix issue in ASP.NET Core integration with GetServiceProvider not working correctly when invoked against a CustomContext/MessageBuilderContext.
> Improved how LanguageStringSource works with error-code overrides.
> Fix thread-safety issue with use of PropertyValidatorOptions.Empty (now removed).
> Improved how calls to When/Unless are handled internally.
> DelegatingValidator is now marked as deprecated.
> Improvements to Croatian language translations.
> Improvements to Georgian language translations.
> Resolved subtle bug where top-level WhenAsync wouldn't work correctly when wrapping a top-level call to When.
>
> 8.2.3 - 12 April 2019
> Fix issue with WebApi integration where DataAnnotations validation could generate duplicate messages when used in the same
> project as FluentValidation.
>
> 8.2.2 - 5 April 2019
> Fix typo in FluentValidation.DependencyInjectionExtensions package name.
>
> 8.2.1 - 4 April 2019
> Resolved issue using InjectValidator with RuleForEach.
> Add support for a default IValidatorInterceptor to be registered with the ASP.NET Core Service Provider.
> Added "Without" test extensions for consistency with existing "With" text extensions.
>
> 8.2.0 - 26 March 2019
> Add extensions for injecting child validators using the ASP.NET Core Service Provider.
> WithLocalizedMessage is deprecated. Use the overload of WithMessage that takes a Func instead.
> Implement RuleFor(...).ForEach(...) as an alternative to RuleForEach
>
Commits
- [`24aaddb`](https://github.com/JeremySkinner/FluentValidation/commit/24aaddb4b00e3563e8d03fd6edd06f487e207e8a) Update to ASP.NET Core 3.0 RTM.
- [`1269bcc`](https://github.com/JeremySkinner/FluentValidation/commit/1269bccc76c0374d78e92ea6a943230ccb3db33f) Few tiny tweaks in "Getting Started" docs ([#1238](https://github-redirect.dependabot.com/JeremySkinner/fluentvalidation/issues/1238))
- [`2eb4938`](https://github.com/JeremySkinner/FluentValidation/commit/2eb493886b3f2f630f6c82ae7fc1baf6f34ec496) Provide more feedback when using ShouldHaveValidationError. ([#1221](https://github-redirect.dependabot.com/JeremySkinner/fluentvalidation/issues/1221))
- [`d198e9e`](https://github.com/JeremySkinner/FluentValidation/commit/d198e9e21d8fc75d596ea7c02ad6aeaa4e4988c0) by jskinner: Update to .NET core 3 rc1.
- [`ce7b121`](https://github.com/JeremySkinner/FluentValidation/commit/ce7b121d84723ef847e86cbf78f67cdcd59c2399) Bump version.
- [`12a75a4`](https://github.com/JeremySkinner/FluentValidation/commit/12a75a45b3ed8aaad80cee0e8a7cfa843fe7cb18) Update to asp.net core 3 preview 8
- [`dab4a60`](https://github.com/JeremySkinner/FluentValidation/commit/dab4a60fbb110970af934e0a414df58991a284da) Update changelogs.
- [`0556596`](https://github.com/JeremySkinner/FluentValidation/commit/0556596ab4dfb59e4fe69739608753ecd9b5fc40) Indicate that TrackingCollection will be made internal
- [`a4ec329`](https://github.com/JeremySkinner/FluentValidation/commit/a4ec32934592bcbbe69a451a556c328c663c17e3) Workaround test failures in WebApi integration on linux caused by a regressio...
- [`6a78e8d`](https://github.com/JeremySkinner/FluentValidation/commit/6a78e8d3192c08409c2677a5fb6e21a9b1aa730a) Typo fixed ([#1197](https://github-redirect.dependabot.com/JeremySkinner/fluentvalidation/issues/1197))
- Additional commits viewable in [compare view](https://github.com/JeremySkinner/fluentvalidation/compare/8.1.3...8.5.0)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Finally, you can contact us by mentioning @dependabot.
Bumps FluentValidation from 8.1.3 to 8.5.0.
Release notes
*Sourced from [FluentValidation's releases](https://github.com/JeremySkinner/fluentvalidation/releases).* > ## 8.5.0 > # Release notes > > - Add support for ASP.NET Core 3. > - Add ASP.NET Core-compatible version of the email address validator. > - Simplify the advanced test-helper syntax. > - Add support for defining child rules inline when using `RuleForEach`. > - `ValidatorDescriptor` now has consistent handling of model-level rules. > - `RuleForEach` can now access collection index in error message with `{CollectionIndex}` placeholder. > - Welsh language translations of default error messages. > - Hungrian language translations of default error messages. > - Indonesian language translations of default error messages. > - Using `RuleForEach` combined with `When` has more intuitive behaviour. > - Fixed order of rule execution when using async validation. > > Of these new features, the main one to note is the new `ChildRules` syntax. When defining a rule against a collection of complex types, rules for the child properties can be defined directly inline rather than having to use a child validator: > > ```csharp > public class CustomerValidator : AbstractValidatorChangelog
*Sourced from [FluentValidation's changelog](https://github.com/JeremySkinner/FluentValidation/blob/master/Changelog.txt).* > 8.5.0 - 24 September 2019 > Add ASP.NET Core-compatible version of the email address validator. > Simplify the advanced testhelper syntax. > Add support for ASP.NET Core 3. > Add support for defining child rules inline. > ValidatorDescriptor now has consistent handling of model-level rules. > RuleForEach can now access collection index in error message with {CollectionIndex} placeholder. > Welsh language translations of default error messages. > Hungrian language translations of default error messages. > Indonesian language translations of default error messages. > Using RuleForEach combined with When is now more intuitive. > Fixed order of rule execution when using async validation. > > 8.4.0 - 10 May 2019 > Added simplified version of several messages across all translations to aid with ASP.NET Clientside validation. > New enum validator for string properties. > > 8.3.0 - 24 April 2019 > Fix issue in ASP.NET Core integration with GetServiceProvider not working correctly when invoked against a CustomContext/MessageBuilderContext. > Improved how LanguageStringSource works with error-code overrides. > Fix thread-safety issue with use of PropertyValidatorOptions.Empty (now removed). > Improved how calls to When/Unless are handled internally. > DelegatingValidator is now marked as deprecated. > Improvements to Croatian language translations. > Improvements to Georgian language translations. > Resolved subtle bug where top-level WhenAsync wouldn't work correctly when wrapping a top-level call to When. > > 8.2.3 - 12 April 2019 > Fix issue with WebApi integration where DataAnnotations validation could generate duplicate messages when used in the same > project as FluentValidation. > > 8.2.2 - 5 April 2019 > Fix typo in FluentValidation.DependencyInjectionExtensions package name. > > 8.2.1 - 4 April 2019 > Resolved issue using InjectValidator with RuleForEach. > Add support for a default IValidatorInterceptor to be registered with the ASP.NET Core Service Provider. > Added "Without" test extensions for consistency with existing "With" text extensions. > > 8.2.0 - 26 March 2019 > Add extensions for injecting child validators using the ASP.NET Core Service Provider. > WithLocalizedMessage is deprecated. Use the overload of WithMessage that takes a Func instead. > Implement RuleFor(...).ForEach(...) as an alternative to RuleForEach >Commits
- [`24aaddb`](https://github.com/JeremySkinner/FluentValidation/commit/24aaddb4b00e3563e8d03fd6edd06f487e207e8a) Update to ASP.NET Core 3.0 RTM. - [`1269bcc`](https://github.com/JeremySkinner/FluentValidation/commit/1269bccc76c0374d78e92ea6a943230ccb3db33f) Few tiny tweaks in "Getting Started" docs ([#1238](https://github-redirect.dependabot.com/JeremySkinner/fluentvalidation/issues/1238)) - [`2eb4938`](https://github.com/JeremySkinner/FluentValidation/commit/2eb493886b3f2f630f6c82ae7fc1baf6f34ec496) Provide more feedback when using ShouldHaveValidationError. ([#1221](https://github-redirect.dependabot.com/JeremySkinner/fluentvalidation/issues/1221)) - [`d198e9e`](https://github.com/JeremySkinner/FluentValidation/commit/d198e9e21d8fc75d596ea7c02ad6aeaa4e4988c0) by jskinner: Update to .NET core 3 rc1. - [`ce7b121`](https://github.com/JeremySkinner/FluentValidation/commit/ce7b121d84723ef847e86cbf78f67cdcd59c2399) Bump version. - [`12a75a4`](https://github.com/JeremySkinner/FluentValidation/commit/12a75a45b3ed8aaad80cee0e8a7cfa843fe7cb18) Update to asp.net core 3 preview 8 - [`dab4a60`](https://github.com/JeremySkinner/FluentValidation/commit/dab4a60fbb110970af934e0a414df58991a284da) Update changelogs. - [`0556596`](https://github.com/JeremySkinner/FluentValidation/commit/0556596ab4dfb59e4fe69739608753ecd9b5fc40) Indicate that TrackingCollection will be made internal - [`a4ec329`](https://github.com/JeremySkinner/FluentValidation/commit/a4ec32934592bcbbe69a451a556c328c663c17e3) Workaround test failures in WebApi integration on linux caused by a regressio... - [`6a78e8d`](https://github.com/JeremySkinner/FluentValidation/commit/6a78e8d3192c08409c2677a5fb6e21a9b1aa730a) Typo fixed ([#1197](https://github-redirect.dependabot.com/JeremySkinner/fluentvalidation/issues/1197)) - Additional commits viewable in [compare view](https://github.com/JeremySkinner/fluentvalidation/compare/8.1.3...8.5.0)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot.