Skip to content

Commit e7e7804

Browse files
committed
feat: update validation methods to use ValidateAsync for improved performance and consistency
1 parent 3cffa44 commit e7e7804

22 files changed

Lines changed: 33 additions & 30 deletions

.github/skills/blazor-mudblazor/SKILL.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ Every admin management page follows this shell (details in `../csharp-blazor/SKI
5757

5858
## Common Gotchas
5959

60+
- `MudForm` validation: call `await _form.ValidateAsync()` (not `Validate()` — removed in v9).
61+
- `IDialogService` confirmation: use `await DialogService.ShowMessageBoxAsync(...)` (renamed from `ShowMessageBox` in v9).
6062
- `MudTable<T>` search: use a **property** with a setter that calls `_table.ReloadServerData()`, not field + `@bind-Value`. See `references/tables-data.md`.
63+
- `MudTabs.PanelClass` was removed in v9 — set `PanelClass` on each `<MudTabPanel>` individually instead.
6164
- `MudAutocomplete<T>` needs both `SearchFunc` and `ToStringFunc` for object types.
6265
- `ISnackbar.Add(message, Severity.X)` — inject `ISnackbar Snackbar` via `@inject`.
6366
- `MudDialog` requires `MudDialogProvider` to be registered in `Routes.razor`.

.github/skills/blazor-mudblazor/references/dialogs-feedback.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Dialog components **do not** declare `@rendermode` — they inherit it from thei
9191
9292
private async Task Submit()
9393
{
94-
await _form.Validate();
94+
await _form.ValidateAsync();
9595
if (!_success) return;
9696
9797
var result = await WidgetsClient.CreateWidgetAsync(_model);
@@ -127,7 +127,7 @@ For destructive actions, use `IDialogService` with a simple confirm dialog:
127127
```csharp
128128
private async Task DeleteWidget(Guid id, string etag)
129129
{
130-
var confirm = await DialogService.ShowMessageBox(
130+
var confirm = await DialogService.ShowMessageBoxAsync(
131131
"Delete Widget",
132132
"Are you sure you want to delete this widget? This cannot be undone.",
133133
yesText: "Delete", cancelText: "Cancel");

.github/skills/blazor-mudblazor/references/forms-inputs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ BookStore uses `MudForm` for validation, **not** `EditContext` or `DataAnnotatio
3636
3737
private async Task Submit()
3838
{
39-
await _form.Validate();
39+
await _form.ValidateAsync();
4040
if (!_success) return;
4141
4242
var result = await WidgetsClient.CreateWidgetAsync(_model);

Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<PackageVersion Include="Microsoft.JSInterop" Version="10.0.2" />
3838
<PackageVersion Include="MimeKit" Version="4.15.1" />
3939
<PackageVersion Include="Microsoft.Playwright" Version="1.58.0" />
40-
<PackageVersion Include="MudBlazor" Version="8.15.0" />
40+
<PackageVersion Include="MudBlazor" Version="9.3.0" />
4141
<PackageVersion Include="Npgsql" Version="10.0.1" />
4242
<PackageVersion Include="NSubstitute" Version="5.3.0" />
4343
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.15.0" />

src/BookStore.Web/Components/Pages/Admin/AddBookDialog.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@
357357

358358
private async Task Submit()
359359
{
360-
await _form.Validate();
360+
await _form.ValidateAsync();
361361
if (!_form.IsValid) return;
362362

363363
try

src/BookStore.Web/Components/Pages/Admin/AuthorManagement.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151

152152
private async Task DeleteAuthor(AdminAuthorDto author)
153153
{
154-
var result = await DialogService.ShowMessageBox(
154+
var result = await DialogService.ShowMessageBoxAsync(
155155
"Delete Author",
156156
$"Are you sure you want to delete author {author.Name}?",
157157
yesText: "Delete", cancelText: "Cancel");

src/BookStore.Web/Components/Pages/Admin/CategoryManagement.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150

151151
private async Task DeleteCategory(AdminCategoryDto category)
152152
{
153-
var result = await DialogService.ShowMessageBox(
153+
var result = await DialogService.ShowMessageBoxAsync(
154154
"Delete Category",
155155
$"Are you sure you want to delete category {category.Name}?",
156156
yesText: "Delete", cancelText: "Cancel");

src/BookStore.Web/Components/Pages/Admin/CreateAuthorDialog.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115

116116
private async Task Submit()
117117
{
118-
await _form.Validate();
118+
await _form.ValidateAsync();
119119
if (!_form.IsValid || !_translations.ContainsKey("en")) return;
120120

121121
try

src/BookStore.Web/Components/Pages/Admin/CreateCategoryDialog.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999

100100
private async Task Submit()
101101
{
102-
await _form.Validate();
102+
await _form.ValidateAsync();
103103
if (!_translations.ContainsKey("en")) return;
104104

105105
try

src/BookStore.Web/Components/Pages/Admin/CreatePublisherDialog.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
private async Task Submit()
3636
{
37-
await _form.Validate();
37+
await _form.ValidateAsync();
3838
if (!_form.IsValid) return;
3939

4040
try

0 commit comments

Comments
 (0)