Lekce 5 - E-shop v ASP.NET - Objednávka - Vlastní validační atributy
V minulé lekci, E-shop v ASP.NET - Objednávka - Manažeři pro správu osob, jsme si do business vrstvy přidali manažera pro práci s osobami a manažery pro získání bank a zemí.
V dnešním ASP.NET Core tutoriálu připravíme vlastní pokročilé atributy, které později využijeme v nových ViewModelech.
Pro rozšířenou validaci podle našich vlastních pravidel bychom mohli využít různé už hotové NuGet balíčky (např. FluentValidation).
My ale v našich ViewModelech použijeme vlastní validační
atributy (anotace), které si s pomocí reflexe (jev, kdy program za
běhu zkoumá sám sebe) vytvoříme sami
Dnes budeme pracovat pouze v aplikační
vrstvě, tedy v projektu Eshop
.
Do složky Classes/
přidáme novou třídu
RequiredIfAttribute
. V okně Solution Explorer soubor
přejmenujeme na RequiredIfAttributes.cs
, protože do něj budeme
přidávat všechny validační atributy.
Atribut
RequiredIfAttribute
Třída RequiredIfAttribute
bude naší bázovou
třídou pro zbylé atributy. Proto ji označíme jako
abstraktní a podědíme ji od
ValidationAttribute
. Do třídy napíšeme abstraktní vlastnost
CustomErrorMessage
pro chybovou validační hlášku a proměnnou
valueToCompare
. V konstruktoru do této proměnné uložíme jméno
vlastnosti, kterou budeme porovnávat s anotovanou
hodnotou:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium no-reselling II, koupí článku souhlasíš se smluvními podmínkami.

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 kredity. 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ále v 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 tutoriálu si připravíme vlastní pokročilé atributy, které později využijeme v nových ViewModelech.
Kredity 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íť.