From 1b4a14de360b46fd6ab22b2a7eb02592193d57c4 Mon Sep 17 00:00:00 2001 From: syneffort Date: Wed, 13 Mar 2024 14:36:23 +0900 Subject: [PATCH] validation check by code --- .../BlazingPizza/Pages/Checkout.razor | 46 +++++++++++++----- .../BlazingPizza/Shared/AddressEditor.razor | 20 +++----- MyFirstBlazor/BlazingPizza/pizza.db | Bin 53248 -> 53248 bytes MyFirstBlazor/BlazingPizza/pizza.db-shm | Bin 32768 -> 32768 bytes MyFirstBlazor/BlazingPizza/pizza.db-wal | Bin 28872 -> 28872 bytes 5 files changed, 39 insertions(+), 27 deletions(-) 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 7480915960f2b84a5b843694c659cffa315a3213..301a8b599ace7066d590c0acef51f9951f725bec 100644 GIT binary patch delta 385 zcmXAlKTE@45XRq-#^$ZHPZG4C;-8|Ri?(l4us8{R0L9KNhQ^2p3Jp5A*zb^`B8UY+ za8QeJ(m@BYOL6Gb$w6H#f+FamgJ;XZaoq9zp1Uhmm+t*Q3om5dL<99epSwVpB9nysjYE@=`+m4W$O`rexq)bVXtcBLAD`zZ s4V3>^KfychafDam+~SLPbzI^M2YAL0{jyB*^^TmjA_qkej&5?=AB{C;F#rGn delta 225 zcmZozz}&Eac>{}p2nYWL2L5mSZ}=ba-{3#Te}sP*|Ax(i3N!dOZ;+Q0P~qTWVU}bJ z$gHYLEEZs3VBqHTFG@)*D&}Ga3PYG2n?LCbDTr|Jy<*_M$G@9@27f7k5WhY@FW;-p ziUODTHouCKVq_NJPoK=5pa>MP=ii*3KNqNh{}KcLAE4bI_+Rlq0cyR$e`&Lz!!G{G zm*yJ*)i0aOzCaP^lsf*&%ht!K2=FfknZJ_%J^wNO#r!Y%FYzDX{|eM}hJOqHI{wG} Rzxj6oRaf(GUc5h6002CcOdkLM diff --git a/MyFirstBlazor/BlazingPizza/pizza.db-shm b/MyFirstBlazor/BlazingPizza/pizza.db-shm index de5ec21dece7d7190b033715375ccdd13885a3b9..0bdcca218ce5388370de9422361e5707ae96388f 100644 GIT binary patch delta 112 zcmZo@U}|V!N|1P@%K!q55G=qBqy`!Qq#L)QcWF;dk} NOi*BC*w|QK4*&#f9`gVI delta 112 zcmZo@U}|V!N|1P@%K!t63=9J7Kn^buFKP`ii`YD4^Q5mztK(&bH_Z|Cn6fH`B!)wxF( zUAugHbAZ4({xmKw7G_DtfXu3@#9|Sk1GqW;i&9dHin*A9!cZm;BeN`Ha6xKvW@1h; z2T&0kvhxGKs8vNQ*x(CxKHm}s{(Jnp`DgH#@(1zj^Yik(;ycc_WMg6nACn^2WJ7&n zK4W7mQxiRN6H8-DBV(@3`udKH;xM<})jYI9z1fo;WR?iO!{l}YRTh3veus^T0{p`4 zBCHIIoQzz29Kt{bBO@0(&*aPYTXkTXwLkm}VEE*;p9`p&i~kq{{~usTe&Bz_{{-ly z8~m5}&+s4HoG7r0pN*9nsGDnYN`MXA=0EJVlh)k7C=Ajp!rwP}djQbpDg1q#855KE zIk-f?T7)NiCFEJb?0a3bBx}X00wk8JMM-mJS0t_H9>8sM}_!+b2H*o$~dc7xOB~XY7S$tpZt?M-h zmvr$01v&Za8Th~Pzu|wxe}n%V{}KLO{2Tb|Hzx|D@=xB*-zfky>&w2lV+?sWn>Ggs zoa0a70gwRT2#!%3>1biIe8eFWf_ADQj;?ibBZ~DirA3d zu>0GF>wQl%Xe2=NC`ZZ}W`I#iv1@@4z2S};XID%Wyu#9J-n0xIIOGPIibJ+N?0HjNZf7ayf0U)FE_$PZM