JJ.Framework.Validation.Legacy
0.253.6073
Prefix Reserved
dotnet add package JJ.Framework.Validation.Legacy --version 0.253.6073
NuGet\Install-Package JJ.Framework.Validation.Legacy -Version 0.253.6073
<PackageReference Include="JJ.Framework.Validation.Legacy" Version="0.253.6073" />
<PackageVersion Include="JJ.Framework.Validation.Legacy" Version="0.253.6073" />
<PackageReference Include="JJ.Framework.Validation.Legacy" />
paket add JJ.Framework.Validation.Legacy --version 0.253.6073
#r "nuget: JJ.Framework.Validation.Legacy, 0.253.6073"
#:package JJ.Framework.Validation.Legacy@0.253.6073
#addin nuget:?package=JJ.Framework.Validation.Legacy&version=0.253.6073
#tool nuget:?package=JJ.Framework.Validation.Legacy&version=0.253.6073
JJ.Framework.Validation.Legacy
Historic release for compatibility with older projects from 2015, now upgraded to the newest .NET, doc comments everywhere and compatible with code trimming and native compilation.
Contains a class FluentValidator. It offers a neat fluent notation:
For(() => Thing.Value).NotNull().Max(100);
If you separate validations from the rest of your code and turn them into validator classes, your business rules may become better maintainable. The validation messages are dry pairs of keys and message texts, which makes the output of the validations easily integratable with any other system. The set of fluent methods might be incomplete, but we just add things at the time we need it.
We use this framework to support our developments, and extend it on the fly, as needed.
This framework is also kind of a proof that you do not need an external validation framework. You can easily do it yourself.
Release Notes
2026-03-15 | 0.251/4.1 : Legacy
- Historic version + full test coverage / IntelliSense docs / code trimming / native AOT support
- .NET
10,9,8,7,6,5,4.6.1/ .NET Standard2.0,2.1 FluentValidatorsyntax:
For(() => player.TotalScore, "Total Score").Min(0).Max(100);NotNull,NotNullOrWhiteSpace,In,Is,IsNot,NotZero,Above,Min,Max,NotInteger,IsEnumValueIValidator/ValidatorBasemembers:
IsValid(boo),ValidationMessages,Verify()(throws)- Sub-validators and message prefixes:
"Address: Street is required." - Localization: English (
en-US) and Dutch (nl-NL)
2026-04-04 | 0.252/4.4 : Docs
- More IntelliSense popups
- Reworked README
💬 Feedback
Got feedback or questions? You can reach me here.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
-
.NETStandard 2.1
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
-
net10.0
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
-
net6.0
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
-
net7.0
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
-
net8.0
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
-
net9.0
- JJ.Framework.Common.Legacy (>= 0.253.6073)
- JJ.Framework.PlatformCompatibility.Legacy (>= 0.253.6073)
- JJ.Framework.Reflection.Legacy (>= 0.253.6073)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.253.6073 | 42 | 4/8/2026 |
| 0.252.6001 | 57 | 4/4/2026 |
| 0.251.5729 | 91 | 3/16/2026 |
| 0.251.5705 | 84 | 3/15/2026 |