From e73f270a2989007dfccb83d4d4448afe473c9e2d Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 22 Sep 2026 12:33:10 -0400 Subject: [PATCH 1/3] Hold XREF links for GA --- aspnetcore/blazor/forms/validation-advanced.md | 7 ++++++- aspnetcore/blazor/forms/validation.md | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/aspnetcore/blazor/forms/validation-advanced.md b/aspnetcore/blazor/forms/validation-advanced.md index 049a667e650b..3fe4d723df9a 100644 --- a/aspnetcore/blazor/forms/validation-advanced.md +++ b/aspnetcore/blazor/forms/validation-advanced.md @@ -138,8 +138,13 @@ To implement a business rule inside the validator component instead of accepting The same component pattern supports asynchronous work: + + * In an `OnValidationRequested` handler, call `e.AddAsyncValidator` to register form-level work. `EditForm` awaits it before invoking `OnValidSubmit` or `OnInvalidSubmit`. -* In an `OnFieldChanged` handler, call to start validation for that field. Starting another validation for the same field supersedes and cancels the previous operation. +* In an `OnFieldChanged` handler, call `RegisterAsyncFieldValidator` to start validation for that field. Starting another validation for the same field supersedes and cancels the previous operation. For form-level asynchronous validation: diff --git a/aspnetcore/blazor/forms/validation.md b/aspnetcore/blazor/forms/validation.md index 9fcb3b289c72..5a429d39f3b7 100644 --- a/aspnetcore/blazor/forms/validation.md +++ b/aspnetcore/blazor/forms/validation.md @@ -337,7 +337,12 @@ Static SSR doesn't provide live .NET field validation between requests. :::moniker range=">= aspnetcore-11.0" -For asynchronous full-form validation, call `e.AddAsyncValidator` from an `OnValidationRequested` handler. For asynchronous field validation in an interactive form, call from an `OnFieldChanged` handler. A new asynchronous validation for the same field supersedes and cancels the previous one. + + +For asynchronous full-form validation, call `e.AddAsyncValidator` from an `OnValidationRequested` handler. For asynchronous field validation in an interactive form, call `RegisterAsyncFieldValidator%2A` from an `OnFieldChanged` handler. A new asynchronous validation for the same field supersedes and cancels the previous one. For model-based asynchronous validation attributes, see . For a complete reusable validator component, see . From cd94b84669ea1cb5d69338e84885712ec9bf6608 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 22 Sep 2026 12:35:05 -0400 Subject: [PATCH 2/3] Update --- aspnetcore/blazor/forms/validation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/blazor/forms/validation.md b/aspnetcore/blazor/forms/validation.md index 5a429d39f3b7..455c729000f1 100644 --- a/aspnetcore/blazor/forms/validation.md +++ b/aspnetcore/blazor/forms/validation.md @@ -342,7 +342,7 @@ Static SSR doesn't provide live .NET field validation between requests. --> -For asynchronous full-form validation, call `e.AddAsyncValidator` from an `OnValidationRequested` handler. For asynchronous field validation in an interactive form, call `RegisterAsyncFieldValidator%2A` from an `OnFieldChanged` handler. A new asynchronous validation for the same field supersedes and cancels the previous one. +For asynchronous full-form validation, call `e.AddAsyncValidator` from an `OnValidationRequested` handler. For asynchronous field validation in an interactive form, call `RegisterAsyncFieldValidator` from an `OnFieldChanged` handler. A new asynchronous validation for the same field supersedes and cancels the previous one. For model-based asynchronous validation attributes, see . For a complete reusable validator component, see . From d8a73c37a6ed03f2eccf410215ae4d82820f8f91 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 22 Sep 2026 12:37:15 -0400 Subject: [PATCH 3/3] Updates --- aspnetcore/blazor/forms/validation-advanced.md | 2 +- aspnetcore/blazor/forms/validation.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aspnetcore/blazor/forms/validation-advanced.md b/aspnetcore/blazor/forms/validation-advanced.md index 3fe4d723df9a..da211cafaba9 100644 --- a/aspnetcore/blazor/forms/validation-advanced.md +++ b/aspnetcore/blazor/forms/validation-advanced.md @@ -144,7 +144,7 @@ The same component pattern supports asynchronous work: --> * In an `OnValidationRequested` handler, call `e.AddAsyncValidator` to register form-level work. `EditForm` awaits it before invoking `OnValidSubmit` or `OnInvalidSubmit`. -* In an `OnFieldChanged` handler, call `RegisterAsyncFieldValidator` to start validation for that field. Starting another validation for the same field supersedes and cancels the previous operation. +* In an `OnFieldChanged` handler, call `EditContext.RegisterAsyncFieldValidator` to start validation for that field. Starting another validation for the same field supersedes and cancels the previous operation. For form-level asynchronous validation: diff --git a/aspnetcore/blazor/forms/validation.md b/aspnetcore/blazor/forms/validation.md index 455c729000f1..0b41751841fe 100644 --- a/aspnetcore/blazor/forms/validation.md +++ b/aspnetcore/blazor/forms/validation.md @@ -342,7 +342,7 @@ Static SSR doesn't provide live .NET field validation between requests. --> -For asynchronous full-form validation, call `e.AddAsyncValidator` from an `OnValidationRequested` handler. For asynchronous field validation in an interactive form, call `RegisterAsyncFieldValidator` from an `OnFieldChanged` handler. A new asynchronous validation for the same field supersedes and cancels the previous one. +For asynchronous full-form validation, call `e.AddAsyncValidator` from an `OnValidationRequested` handler. For asynchronous field validation in an interactive form, call `EditContext.RegisterAsyncFieldValidator` from an `OnFieldChanged` handler. A new asynchronous validation for the same field supersedes and cancels the previous one. For model-based asynchronous validation attributes, see . For a complete reusable validator component, see .