diff --git a/Directory.Packages.props b/Directory.Packages.props index 3973b15..db6fb05 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,13 +3,13 @@ true - + - - - - + + + + diff --git a/samples/Samples.Console/Program.cs b/samples/Samples.Console/Program.cs index 0e23023..39a8849 100644 --- a/samples/Samples.Console/Program.cs +++ b/samples/Samples.Console/Program.cs @@ -5,7 +5,7 @@ var widgets = new List { - new Widget { Name = title }, + new() { Name = title }, new WidgetWithCustomValidation { Name = title } }; diff --git a/samples/Samples.Web/Program.cs b/samples/Samples.Web/Program.cs index 68bedb0..c184b7d 100644 --- a/samples/Samples.Web/Program.cs +++ b/samples/Samples.Web/Program.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using Microsoft.AspNetCore.Http.HttpResults; +using Microsoft.AspNetCore.Mvc; using MiniValidation; var builder = WebApplication.CreateBuilder(args); @@ -23,6 +24,9 @@ app.MapGet("/widgets/{name}", (string name) => new Widget { Name = name }); +app.MapGet("/widgets2/{name}", ([AsParameters] GetWidgets2Model model) => + new Widget { Name = model.Name }); + app.MapPost("/widgets", Results> (Widget widget) => !MiniValidator.TryValidate(widget, out var errors) ? TypedResults.ValidationProblem(errors) @@ -35,6 +39,12 @@ app.Run(); +class GetWidgets2Model +{ + [FromRoute, RegularExpression("^(hello|world)$")] + public string? Name { get; set; } +} + class Widget { [Required, MinLength(3), Display(Name = "Widget name")] @@ -49,7 +59,7 @@ public IEnumerable Validate(ValidationContext validationContex { if (string.Equals(Name, "Widget", StringComparison.OrdinalIgnoreCase)) { - yield return new($"Cannot name a widget '{Name}'.", new[] { nameof(Name) }); + yield return new($"Cannot name a widget '{Name}'.", [nameof(Name)]); } } } diff --git a/samples/Samples.Web/Samples.Web.csproj b/samples/Samples.Web/Samples.Web.csproj index 7190ba0..f3b5e57 100644 --- a/samples/Samples.Web/Samples.Web.csproj +++ b/samples/Samples.Web/Samples.Web.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 enable enable diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 5cac6aa..3ce316f 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,7 +1,7 @@ - 0.9.1 + 0.10.0 dev diff --git a/src/MiniValidation/MiniValidation.csproj b/src/MiniValidation/MiniValidation.csproj index 7f2afc4..f194d85 100644 --- a/src/MiniValidation/MiniValidation.csproj +++ b/src/MiniValidation/MiniValidation.csproj @@ -1,8 +1,8 @@ - + A minimalist validation library built atop the existing validation features in .NET's `System.ComponentModel.DataAnnotations` namespace. - netstandard2.0;net6.0 + netstandard2.0;net8.0 ComponentModel DataAnnotations validation README.md 10.0 diff --git a/tests/MiniValidation.Benchmarks/MiniValidation.Benchmarks.csproj b/tests/MiniValidation.Benchmarks/MiniValidation.Benchmarks.csproj index e142f3c..07ae6c3 100644 --- a/tests/MiniValidation.Benchmarks/MiniValidation.Benchmarks.csproj +++ b/tests/MiniValidation.Benchmarks/MiniValidation.Benchmarks.csproj @@ -1,9 +1,9 @@ - + Exe - net6.0;net7.0 - net471;net6.0;net7.0 + net8.0 + net471;net8.0 enable enable 10 diff --git a/tests/MiniValidation.UnitTests/MiniValidation.UnitTests.csproj b/tests/MiniValidation.UnitTests/MiniValidation.UnitTests.csproj index 0e7f43a..f223bb0 100644 --- a/tests/MiniValidation.UnitTests/MiniValidation.UnitTests.csproj +++ b/tests/MiniValidation.UnitTests/MiniValidation.UnitTests.csproj @@ -1,8 +1,8 @@  - net6.0;net7.0;net8.0 - net471;net6.0;net7.0;net8.0 + net8.0 + net471;net8.0 10.0 enable enable