1. Zadání

Co je cílem zadání?

  • Vytvoření datové třídy Kniha s definicí striktních validačních pravidel pomocí datových anotací (povinná pole, minimální délka textu a povolený číselný rozsah).
  • Příprava editačního formuláře s integrovanou automatickou kontrolou vstupů, který dynamicky zobrazuje chybová hlášení u nesprávně vyplněných polí.
  • Podmíněné zobrazení uživatelského rozhraní, které vykreslí úspěšně uložené záznamy do přehledné HTML tabulky až po přidání první knihy.

Zadání

Vytvořte C# třídu Kniha, která bude sloužit jako šablona pro evidenci vašeho čtenářského deníku. Tato třída musí obsahovat vlastnosti pro uložení dat (např. Nazev, Autor, RokVydani, PocetStran). Abychom zajistili, že uživatel zadá správná data, přidejte k těmto vlastnostem validační atributy ze jmenného prostoru System.ComponentModel.DataAnnotations. Zabezpečte, že název i autor jsou povinná pole (pomocí [Required]), autor má alespoň 3 znaky ([MinLength]) a rok vydání či počet stran dávají logický smysl (pomocí [Range]). Nezapomeňte u každého pravidla definovat vlastní chybovou hlášku pomocí parametru ErrorMessage.

V Razor komponentě následně vytvořte formulář pomocí komponenty <EditForm>, kterou na tuto instanci třídy Kniha napojíte. Nezapomeňte do formuláře vložit značku <DataAnnotationsValidator />, aby se aktivovala kontrola pravidel z vašeho modelu. Pro každý vstup použijte vhodné datové prvky (např. <InputText> nebo <InputNumber>) a ke každému z nich připojte komponentu <ValidationMessage> pro výpis případných chyb. Celý proces zakončete tlačítkem, které díky události OnValidSubmit spustí ukládací metodu pouze tehdy, pokud je celý formulář správně a kompletně vyplněn.

Příklad, jak by mohla stránka vypadat:

Pokud se okno nenačetlo, klikněte zde.