Java týden
Procvič si angličtinu zdarma s naším americkým e-learningem! Learn more
Pouze tento týden sleva až 80 % na celý Java e-learning!

Lekce 16 - E-shop v ASP.NET Core MVC - Osoby - ViewModely

V minulé lekci, E-shop v ASP.NET Core MVC - Osoby - Návrh entit, jsme si připravili entity pro evidenci osob. Dnes si v ASP.NET Core MVC tutoriálu připravíme viewmodely potřebné při editaci těchto entit a ukážeme si jak napsat vlastní anotaci.

Aplikační vrstva

Všechna data do připravených entit bude uživatel vyplňovat při registraci, editaci svého profilu nebo při nákupu bez registrace. Protože se bude jednat o podobné formuláře, připravíme si jejich základ jako částečný pohled (partialview). Také viewmodely budou velice podobné a tedy si můžeme vytvořit bázovou třídu a jednotlivé viewmodely od ní oddědit.

Formulář pro nákup bez registrace a registrační formulář budou v podstatě stejné. Oba musí obsahovat pole pro vlastnosti entity PersonDetail a pole pro vlastnosti entity Address dokonce dvakrát (fakturační a doručovací adresy se mohou lišit). Oba formuláře budou obsahovat i pole pro zadání a potvrzení hesla potřebného k vytvoření entity User. Jen při nákupu bez registrace nebudou tato pole povinná. Při editaci profilu nám přibudou pole pro definici bankovního spojení.

Zajímavostí bude použití našich vlastních anotací v situaci, kdy nám ty v základních knihovnách nebudou stačit. Pro rozšířenou validaci podle našich vlastních pravidel se dají využít různé už hotové NuGet balíčky (např. FluentValidati­on), nebo si validační atributy můžeme napsat sami. Jelikož s NuGetem již všichni jistě pracovat umíte, vytvoříme si dnes s trochou reflexe (jev, kdy program za běhu zkoumá sám sebe) anotace vlastní :-) Budou sice poměrně jednoduché, ale nová technika a možnosti programování se vám dozajista budou líbit.

Viewmodely

Bázový viewmodel se všemi společnými vlastnostmi by tedy mohl vypadat nějak takto (všimněte si i SelectListu pro naplnění dropdownů uloženými státy):


 

...konec náhledu článku...

Komerční článek (licence no-reselling)

Komerční článek (licence no-reselling)

Tento článek vznikl na základě mnohaletých zkušeností v oboru a popisuje vývoj profesionálního komerčního produktu nebo jeho součásti, kterou lze přímo využít za účelem zisku nebo proniknutí do komerční sféry IT odvětví.

Tyto vrcholové znalosti zpřístupňujeme samozřejmě pouze některým členům komunity, kteří se mají zájem vypracovat na profesionály v oboru a proto jsou k dispozici pouze za body. Kód z článku můžete použít pro jeden svůj komerční projekt. Není ho však možné přeprodávat (jednou zakoupit a poté prodat dálev několika projektech). Pokud potřebujete širší využití kódu, rádi se s vámi domluvíme na komerční licenci. Více informací naleznete v článku Licence.

Jste připraveni stát se profesionály v oboru? Stačí kliknout.

Popis článku

Požadovaný článek má následující obsah:

V ASP.NET Core MVC tutoriálu přidáme viewmodely pro formuláře na editaci osob. Viewmodely budou obsahovat pokročilé anotace včetně našich vlastních.

Omezená nabídka: Nauč se vše a ušetři

Koupit články a funkce postupně a po jednom 1056 bodů
Koupit celý kurz se všemi články a funkcemi za exkluzivní cenu 898 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 34 článkům s kontrolou a certifikací a ještě navíc ušetříš 395 Kč. Nabídka je omezená pouze pro první články z kurzu a obsahuje exkluzivní slevu 15%.
898 bodů získáš za přidání svého článku na síť nebo odpovídá 2 633 Kč 2 238 Kč

Koupit pouze tento článek

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 32 bodů
Na svém účtu máš aktuálně 0 bodů
32 bodů získáš za přidání svého článku na síť nebo odpovídá 80 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium no-reselling II, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem

 

Aktivity (5)