diff --git a/MyFirstBlazor/BlazingPizza/Pages/Checkout.razor b/MyFirstBlazor/BlazingPizza/Pages/Checkout.razor index df63b8f..f9c849a 100644 --- a/MyFirstBlazor/BlazingPizza/Pages/Checkout.razor +++ b/MyFirstBlazor/BlazingPizza/Pages/Checkout.razor @@ -6,30 +6,50 @@ @inject NavigationManager NavigationManager
-
-
-

Review order

- -
+ +
+
+

Review order

+ +
-
-

Deliver to...

- +
+

Deliver to...

+ @if (isError) + { +
Please enter a name and address.
+ } + +
-
- + +
@code { Order Order => OrderState.Order; bool isSubmitting; + bool isError = false; - async Task PlaceOrder() + async Task CheckSubmission(EditContext editContext) { isSubmitting = true; + + var model = editContext.Model as Address; + isError = string.IsNullOrWhiteSpace(model?.Name) + || string.IsNullOrWhiteSpace(model?.Line1) + || string.IsNullOrWhiteSpace(model?.PostalCode); + if (!isError) + await PlaceOrder(); + + isSubmitting = false; + } + + async Task PlaceOrder() + { var response = await HttpClient.PostAsJsonAsync(NavigationManager.BaseUri + "orders", OrderState.Order); var newOrderId = await response.Content.ReadFromJsonAsync(); OrderState.ResetOrder(); diff --git a/MyFirstBlazor/BlazingPizza/Shared/AddressEditor.razor b/MyFirstBlazor/BlazingPizza/Shared/AddressEditor.razor index 006bbed..bf2e444 100644 --- a/MyFirstBlazor/BlazingPizza/Shared/AddressEditor.razor +++ b/MyFirstBlazor/BlazingPizza/Shared/AddressEditor.razor @@ -1,53 +1,45 @@ 
- +
- +
- +
- +
- +
- +
@code { [Parameter] public Address Address { get; set; } - - private ElementReference startName; - - protected override async Task OnAfterRenderAsync(bool firstRender) - { - if (firstRender) - await startName.FocusAsync(); - } } diff --git a/MyFirstBlazor/BlazingPizza/pizza.db b/MyFirstBlazor/BlazingPizza/pizza.db index 7480915..301a8b5 100644 Binary files a/MyFirstBlazor/BlazingPizza/pizza.db and b/MyFirstBlazor/BlazingPizza/pizza.db differ diff --git a/MyFirstBlazor/BlazingPizza/pizza.db-shm b/MyFirstBlazor/BlazingPizza/pizza.db-shm index de5ec21..0bdcca2 100644 Binary files a/MyFirstBlazor/BlazingPizza/pizza.db-shm and b/MyFirstBlazor/BlazingPizza/pizza.db-shm differ diff --git a/MyFirstBlazor/BlazingPizza/pizza.db-wal b/MyFirstBlazor/BlazingPizza/pizza.db-wal index ab20c49..3fa0a25 100644 Binary files a/MyFirstBlazor/BlazingPizza/pizza.db-wal and b/MyFirstBlazor/BlazingPizza/pizza.db-wal differ