Artifact: Model
Modely (Models) jsou ve frameworku ASP.NET MVC chápány jako objekty používané k zasílání informací do databáze, k vykonávání výpočtů, validací a dokonce i k zobrazování dat v Pohledech.
Domains: Vývoj
CollapseRelationships  
CollapseDescription  
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.

CollapseIllustrations  
CollapseMore Information