5. diel - E-shop v ASP.NET - Objednávka - Vlastné validačné atribúty
V minulej lekcii, E-shop v ASP.NET - Objednávka - Manažéri pre správu osôb , sme si do business vrstvy pridali manažéra pre prácu s osobami a manažérmi na získanie bánk a krajín.
V dnešnom ASP.NET Core tutoriále pripravíme vlastné pokročilé atribúty, ktoré neskôr využijeme v nových ViewModeloch.
Pre rozšírenú validáciu podľa našich vlastných pravidiel by sme mohli využiť rôzne už hotové NuGet balíčky (napr. FluentValidation).
My ale v našich ViewModeloch použijeme vlastné validačné atribúty (anotácie), ktoré si s pomocou reflexie (jav, kedy program za behu skúma sám seba) vytvoríme sami:-)
Dnes budeme pracovať iba v aplikačnej vrstve,
teda v projekte Eshop
.
Do zložky Classes/
pridáme novú triedu
RequiredIfAttribute
. V okne Solution Explorer súbor
premenujeme na RequiredIfAttributes.cs
, pretože do neho budeme
pridávať všetky validačné atribúty.
Atribút
RequiredIfAttribute
Trieda RequiredIfAttribute
bude našou bázovou
triedou pre zvyšné atribúty. Preto ju označíme ako
abstraktnú a zdedíme ju od ValidationAttribute
.
Do triedy napíšeme abstraktnú vlastnosť CustomErrorMessage
pre
chybovú validačnú hlášku a premennú valueToCompare
. V
konštruktore do tejto premennej uložíme meno vlastnosti, ktorú budeme
porovnávať s anotovanou hodnotou:
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium no-reselling II, kúpou článku súhlasíš so zmluvnými podmienkami.
Komerčný článok (licencia no-reselling)
Tento článok vznikol na základe mnohoročných skúseností v odbore a opisuje vývoj profesionálneho komerčného produktu alebo jeho súčasti, ktorú možno priamo využiť za účelom zisku alebo k preniknutiu do komerčnej sféry IT odvetvia.
Tieto vrcholové znalosti sprístupňujeme samozrejme iba niektorým členom komunity, ktorí sa majú záujem vypracovať na profesionálov v odbore a preto sú k dispozícii len za kredity. Kód z článku môžete použiť pre jeden svoj komerčný projekt. Nie je ho však možné prepredávať (raz zakúpiť a následne predať ďalej v niekoľkých projektoch). Ak potrebujete širšie využitie kódu, radi sa s vami dohodneme na komerčnej licencii. Viac informácií nájdete v článku Licencia.
Ste pripravení stať sa profesionálmi v odbore? Stačí kliknúť.
Popis článku
Požadovaný článok má nasledujúci obsah:
V ASP.NET Core tutoriále si pripravíme vlastné pokročilé atribúty, ktoré neskôr využijeme v nových ViewModeloch.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.