Main Description |
Modely reprezentují doménu, na kterou se aplikace soustředí a modely jsou
objekty, které se mají v aplikaci zobrazovat, ukládat, vytvářet, upravovat a mazat. Vytvořené Modely nejsou nic jiného než třídy napsané v jazyce C# reprezentující
objekty, které jsou předmětem webové aplikace. Funkce modelu spočívá v
přijetí parametrů zvenku a vydání dat ven. Model neví, odkud data v parametrech přišla a ani jak budou výstupní data
zformátována a vypsána.
Důležitou funkcí modelu je také validace dat (vstupů) od uživatele. Vše je definováno anotacemi modelu a framework je
využívá nejen k validaci, ale i k vytváření HTML kódu při zobrazení či editaci modelu. Anotace se přidávají přímo k
definicím jednotlivých atributů, přičemž je možné definovat vlastní, nebo využít předdefinované:
-
Povinnost – definuje, zdali je nutné atribut ve formuláři vyplnit.
-
Regulární výraz – omezení hodnoty na základě regulárního výrazu.
-
Rozsah – minimální a maximální možné hodnoty pro číselné atributy.
-
Porovnání – zajistí, aby měli dva atributy stejnou hodnotu (využívá se např. pro potvrzení emailu).
-
Možnost validace na straně klienta s dotazem serveru (využívá technologie AJAX).
-
Vlastní chybové zprávy v případě, že neprojde validace.
-
Zobrazení – definuje jméno atributu, které je pak na stránce zobrazeno místo názvu atributu.
-
Formát zobrazení – umožnuje definovat formát např. pro měnu či datum.
Takto definované validace je následně možné díky frameworku jednoduše aplikovat jak na klientkou, tak serverovou část
webové aplikace. Validace na serveru je nutná vždy, neboť si uživatel může vynutit vypnutí klientské validace. Validace
klientská nezbytná není, avšak v moderních webových aplikacích se jedná o nepsané pravidlo, zvyšující použitelnost
aplikace. Kromě využití předdefinovaných atributů pro validaci je možné v modelu implementovat i složitější validace
vstupu, na základě nějaké logiky - viz. druhý příklad.
Modely je možné využít jako základ celé webové aplikace. Framework ASP.NET MVC umožňuje díky funkci zvané Scaffolding
vytvořit na základě definovaných modelů Pohledy a Ovladače, které jsou schopné základnách operací. Je tak automaticky
vytvořena základní struktura webové aplikace, kterou je následně samozřejmě možné přizpůsobovat.
|