diff --git a/src/BootstrapBlazor.Shared/Samples/ValidateForms.razor.cs b/src/BootstrapBlazor.Shared/Samples/ValidateForms.razor.cs index 356bb227e55cd9bd92da77995e8d9eb96bc75242..7427bae72a58bb1fd7a627cf8e742d9ca79cab5a 100644 --- a/src/BootstrapBlazor.Shared/Samples/ValidateForms.razor.cs +++ b/src/BootstrapBlazor.Shared/Samples/ValidateForms.razor.cs @@ -91,10 +91,10 @@ public partial class ValidateForms return Task.CompletedTask; } - private Task OnInvalidSubmit1(EditContext context) + private async Task OnInvalidSubmit1(EditContext context) { + await Task.Delay(1000); Trace.Log(Localizer["OnInvalidSubmitLog"]); - return Task.CompletedTask; } private async Task OnValidSubmit1(EditContext context) diff --git a/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor b/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor index ad9292bc0e96bf5652102a40c1095dbbabf4d1b6..07e7515f7f50d0899240bbd7bec8a7ca5d8bcb8b 100644 --- a/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor +++ b/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor @@ -4,7 +4,7 @@ @if (Model != null) { - + @ChildContent diff --git a/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor.cs b/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor.cs index 8f0d77415460c1fd6828f0d823567e66d3a15f15..5962ed94865907a1d0f406ba7be7338d7a9ab116 100644 --- a/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor.cs +++ b/src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor.cs @@ -484,6 +484,27 @@ public partial class ValidateForm : IAsyncDisposable } } + private async Task OnInvalidSubmitForm(EditContext context) + { + if (OnValidSubmit != null) + { + var isAsync = AsyncSubmitButtons.Any(); + foreach (var b in AsyncSubmitButtons) + { + b.TriggerAsync(true); + } + if (isAsync) + { + await Task.Yield(); + } + await OnInvalidSubmit(context); + foreach (var b in AsyncSubmitButtons) + { + b.TriggerAsync(false); + } + } + } + [NotNull] private BootstrapBlazorDataAnnotationsValidator? Validator { get; set; }