Errors);
-}
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Pages/NotFound.razor b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Pages/NotFound.razor
deleted file mode 100644
index 091b6b8bc..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Pages/NotFound.razor
+++ /dev/null
@@ -1,5 +0,0 @@
-@page "/not-found"
-@layout MainLayout
-
-Not Found
-Sorry, the content you are looking for does not exist.
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Program.cs b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Program.cs
deleted file mode 100644
index dbc58c3c8..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Program.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
-using BlazorWebAppRemoteValidation.Client.Validation;
-
-var builder = WebAssemblyHostBuilder.CreateDefault(args);
-
-//
-builder.Services.AddScoped(sp =>
- new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
-//
-builder.Services.AddClientModelValidation();
-
-await builder.Build().RunAsync();
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Routes.razor b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Routes.razor
deleted file mode 100644
index 105855d45..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Routes.razor
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Validation/ClientValidationExtensions.cs b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Validation/ClientValidationExtensions.cs
deleted file mode 100644
index a87677a81..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/Validation/ClientValidationExtensions.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-
-namespace BlazorWebAppRemoteValidation.Client.Validation;
-
-public static class ClientValidationExtensions
-{
- public static IServiceCollection AddClientModelValidation(
- this IServiceCollection services) =>
- services.AddValidation();
-}
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/_Imports.razor b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/_Imports.razor
deleted file mode 100644
index c6a97b714..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.Client/_Imports.razor
+++ /dev/null
@@ -1,10 +0,0 @@
-@using System.Net.Http
-@using System.Net.Http.Json
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using static Microsoft.AspNetCore.Components.Web.RenderMode
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using BlazorWebAppRemoteValidation.Client
-@using BlazorWebAppRemoteValidation.Client.Layout
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.slnx b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.slnx
deleted file mode 100644
index 3de70be30..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.slnx
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.csproj b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.csproj
deleted file mode 100644
index 0e1b76406..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- net11.0
- enable
- enable
- true
-
-
-
-
-
-
-
-
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/App.razor b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/App.razor
deleted file mode 100644
index 369684935..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/App.razor
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/Pages/Error.razor b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/Pages/Error.razor
deleted file mode 100644
index 3e5f5c98b..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/Pages/Error.razor
+++ /dev/null
@@ -1,40 +0,0 @@
-@page "/Error"
-@using System.Diagnostics
-
-Error
-
-Error.
-An error occurred while processing your request.
-
-@if (ShowRequestId)
-{
-
- Request ID: @RequestId
-
-}
-
-Development Mode
-
- Swapping to Development environment will display more detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-@code{
- [CascadingParameter]
- private HttpContext? HttpContext { get; set; }
-
- [PersistentState]
- public string? RequestId { get; set; }
-
- private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- protected override void OnInitialized()
- {
- RequestId ??= Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
- }
-}
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/_Imports.razor b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/_Imports.razor
deleted file mode 100644
index 6516c25c4..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Components/_Imports.razor
+++ /dev/null
@@ -1,11 +0,0 @@
-@using System.Net.Http
-@using System.Net.Http.Json
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using static Microsoft.AspNetCore.Components.Web.RenderMode
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using BlazorWebAppRemoteValidation
-@using BlazorWebAppRemoteValidation.Client
-@using BlazorWebAppRemoteValidation.Components
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Program.cs b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Program.cs
deleted file mode 100644
index 2740aa8ef..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Program.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using BlazorWebAppRemoteValidation.Components;
-using BlazorWebAppRemoteValidation.Client.Models;
-using BlazorWebAppRemoteValidation.Client.Validation;
-
-var builder = WebApplication.CreateBuilder(args);
-
-// Add services to the container.
-builder.Services.AddRazorComponents()
- .AddInteractiveWebAssemblyComponents();
-builder.Services.AddClientModelValidation();
-builder.Services.AddValidation();
-
-var app = builder.Build();
-
-// Configure the HTTP request pipeline.
-if (!app.Environment.IsDevelopment())
-{
- app.UseExceptionHandler("/Error", createScopeForErrors: true);
-}
-app.UseStatusCodePagesWithReExecute("/not-found", createScopeForStatusCodePages: true);
-app.MapStaticAssets();
-
-//
-app.MapPost("/api/starships/validate", (StarshipModel model) =>
-{
- Dictionary errors = [];
-
- if (model.Classification == "Defense" &&
- string.IsNullOrWhiteSpace(model.Description))
- {
- errors[nameof(model.Description)] =
- ["A defense ship requires a description."];
- }
-
- if (errors.Count > 0)
- {
- return Results.ValidationProblem(errors);
- }
-
- return Results.NoContent();
-});
-//
-
-app.MapRazorComponents()
- .AddInteractiveWebAssemblyRenderMode()
- .AddAdditionalAssemblies(typeof(BlazorWebAppRemoteValidation.Client._Imports).Assembly);
-
-app.Run();
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Properties/launchSettings.json b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Properties/launchSettings.json
deleted file mode 100644
index 7d2665004..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/Properties/launchSettings.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/launchsettings.json",
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5257",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
- }
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/appsettings.Development.json b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/appsettings.Development.json
deleted file mode 100644
index 0c208ae91..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/appsettings.Development.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- }
-}
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/appsettings.json b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/appsettings.json
deleted file mode 100644
index 10f68b8c8..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/appsettings.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*"
-}
diff --git a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/wwwroot/app.css b/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/wwwroot/app.css
deleted file mode 100644
index 2db4212ee..000000000
--- a/11.0/BlazorWebAppRemoteValidation/BlazorWebAppRemoteValidation/wwwroot/app.css
+++ /dev/null
@@ -1,38 +0,0 @@
-h1:focus {
- outline: none;
-}
-
-.valid.modified:not([type=checkbox]) {
- outline: 1px solid #26b050;
-}
-
-.invalid {
- outline: 1px solid #e50000;
-}
-
-.validation-message {
- color: #e50000;
-}
-
-.blazor-error-boundary {
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
- padding: 1rem 1rem 1rem 3.7rem;
- color: white;
-}
-
- .blazor-error-boundary::after {
- content: "An error has occurred."
- }
-
-.darker-border-checkbox.form-check-input {
- border-color: #929292;
-}
-
-.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
- color: var(--bs-secondary-color);
- text-align: end;
-}
-
-.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
- text-align: start;
-}
diff --git a/11.0/BlazorWebAppRemoteValidation/README.md b/11.0/BlazorWebAppRemoteValidation/README.md
deleted file mode 100644
index 0b3b43b62..000000000
--- a/11.0/BlazorWebAppRemoteValidation/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Blazor Web App remote validation
-
-This sample uses an Interactive WebAssembly form and a Minimal API in the Blazor Web App host to demonstrate remote form validation.
-
-The form:
-
-1. Runs data annotations validation locally.
-1. Sends locally valid input to the Minimal API.
-1. Displays field-keyed errors returned by the endpoint.
-1. Proceeds only when local and remote validation succeed.
-
-The endpoint validates data annotations before its handler runs and applies a private business rule in the handler.
-
-WebAssembly prerendering is disabled so the form's `HttpClient` dependency only needs to be registered in the `.Client` project.
-
-Run the sample from the solution directory:
-
-```dotnetcli
-dotnet run --project BlazorWebAppRemoteValidation
-```
diff --git a/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs b/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs
index 158681e1f..4adab8609 100644
--- a/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs
+++ b/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs
@@ -4,11 +4,7 @@ namespace BlazorSample;
public class CustomFieldClassProvider : FieldCssClassProvider
{
- public override string GetFieldCssClass(EditContext editContext,
- in FieldIdentifier fieldIdentifier)
- {
- var isValid = editContext.IsValid(fieldIdentifier);
-
- return isValid ? "validField" : "invalidField";
- }
+ public override string GetFieldCssClass(
+ EditContext editContext, in FieldIdentifier fieldIdentifier) =>
+ editContext.IsValid(fieldIdentifier) ? "validField" : "invalidField";
}
diff --git a/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs b/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs
index e228f20a2..290dc8d3f 100644
--- a/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs
+++ b/8.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs
@@ -9,9 +9,8 @@ public override string GetFieldCssClass(EditContext editContext,
{
if (fieldIdentifier.FieldName == "Name")
{
- var isValid = editContext.IsValid(fieldIdentifier);
-
- return isValid ? "validField" : "invalidField";
+ return editContext.IsValid(fieldIdentifier) ?
+ "validField" : "invalidField";
}
return string.Empty;
diff --git a/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs b/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs
index 158681e1f..4adab8609 100644
--- a/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs
+++ b/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider.cs
@@ -4,11 +4,7 @@ namespace BlazorSample;
public class CustomFieldClassProvider : FieldCssClassProvider
{
- public override string GetFieldCssClass(EditContext editContext,
- in FieldIdentifier fieldIdentifier)
- {
- var isValid = editContext.IsValid(fieldIdentifier);
-
- return isValid ? "validField" : "invalidField";
- }
+ public override string GetFieldCssClass(
+ EditContext editContext, in FieldIdentifier fieldIdentifier) =>
+ editContext.IsValid(fieldIdentifier) ? "validField" : "invalidField";
}
diff --git a/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs b/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs
index e228f20a2..290dc8d3f 100644
--- a/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs
+++ b/9.0/BlazorSample_BlazorWebApp/CustomFieldClassProvider2.cs
@@ -9,9 +9,8 @@ public override string GetFieldCssClass(EditContext editContext,
{
if (fieldIdentifier.FieldName == "Name")
{
- var isValid = editContext.IsValid(fieldIdentifier);
-
- return isValid ? "validField" : "invalidField";
+ return editContext.IsValid(fieldIdentifier) ?
+ "validField" : "invalidField";
}
return string.Empty;