IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

16. diel - E-shop v ASP.NET Core MVC - Osoby - ViewModel

V minulej lekcii, E-shop v ASP.NET Core MVC - Osoby - Návrh entít , sme si pripravili entity pre evidenciu osôb. Dnes si v ASP.NET Core MVC tutoriálu pripravíme ViewModel potrebné pri editácii týchto entít a ukážeme si ako napísať vlastnú anotáciu.

Aplikačná vrstva

Všetky dáta do pripravených entít bude užívateľ vyplňovať pri registrácii, editáciu svojho profilu alebo pri nákupe bez registrácie. Pretože sa bude jednať o podobné formulára, pripravíme si ich základ ako čiastočný pohľad (partialview). Tiež ViewModel budú veľmi podobné a teda si môžeme vytvoriť bázovú triedu a jednotlivé ViewModel od nej oddědit.

Formulár pre nákup bez registrácie a registračný formulár budú v podstate rovnaké. Obaja musia obsahovať pole pre vlastnosti entity PersonDetail a polia pre vlastnosti entity Address dokonca dvakrát (fakturačná a doručovacej adresy sa môžu líšiť). Oba formuláre budú obsahovať aj pole pre zadanie a potvrdenie hesla potrebného na vytvorenie entity User. Len pri nákupe bez registrácie nebudú tieto polia povinné. Pri editácii profilu nám pribudnú pole pre definíciu bankového spojenia.

Zaujímavosťou bude použitie našich vlastných anotácií v situácii, kedy nám tie v základných knižniciach nebudú stačiť. Pre rozšírenú validáciu podľa našich vlastných pravidiel sa dajú využiť rôzne už hotové nugety balíčky (napr. FluentValidati­on), alebo si validačnú atribúty môžeme napísať sami. Keďže s nugety už všetci iste pracovať viete, vytvoríme si dnes s trochou reflexie (jav, kedy program za behu skúma sám seba) anotácie vlastné :-) Budú síce pomerne jednoduché, ale nová technika a možnosti programovania sa vám dozaista budú páčiť.

ViewModel

Bazový ViewModel so všetkými spoločnými vlastnosťami by teda mohol vyzerať nejako takto (všimnite si aj SelectList u pre naplnenie dropdown uloženými štáty):


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Obmedzená ponuka: Nauč sa všetko a ušetri

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 2 085 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 34 článkom (34 lekcií) s kontrolou a certifikáciou a ešte naviac ušetríš 556 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 21% zľavu.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium no-reselling II, kúpou článku súhlasíš so zmluvnými podmienkami.

Komerčný článok (licencia no-reselling)

Komerčný článok (licencia no-reselling)

Tento článok vznikol na základe mnohoročných skúseností v odbore a opisuje vývoj profesionálneho komerčného produktu alebo jeho súčasti, ktorú možno priamo využiť za účelom zisku alebo k preniknutiu do komerčnej sféry IT odvetvia.

Tieto vrcholové znalosti sprístupňujeme samozrejme iba niektorým členom komunity, ktorí sa majú záujem vypracovať na profesionálov v odbore a preto sú k dispozícii len za kredity. Kód z článku môžete použiť pre jeden svoj komerčný projekt. Nie je ho však možné prepredávať (raz zakúpiť a následne predať ďalej v niekoľkých projektoch). Ak potrebujete širšie využitie kódu, radi sa s vami dohodneme na komerčnej licencii. Viac informácií nájdete v článku Licencia.

Ste pripravení stať sa profesionálmi v odbore? Stačí kliknúť.

Popis článku

Požadovaný článok má nasledujúci obsah:

V ASP.NET Core MVC tutoriálu pridáme ViewModel pre formuláre na editáciu osôb. ViewModel budú obsahovať pokročilé anotácie vrátane našich vlastných.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal Martin Petrovaj
Avatar
Autor je lenivý vymýšľať nejaký slušný podpis. Venuje sa ale prevažne C#.
Aktivity