Anotácie stavu modelu a dát v C# nám poskytujú pohodlný spôsob, ako požiadať o overenie dát. Overovanie modelu ModelState jednoducho znamená pomôcť backendu ušetriť veľa práce s overovaním parametrov, stačí pridať zodpovedajúce funkcie do modelu a nakoniec zavolať ModelState.IsValid v kontroléri, aby ste získali výsledky overenia. Bez ModelState by naše overovanie parametrov na backende mohlo potrebovať písať veľa if hodnotení.
Požiadavky: Posudzujeme, či parametre POST prešli overením modelu vo filtri, ak neprejdú overením, priamo vrátime jednotnú chybovú správu json až po úspešnom overení a potom vstúpime do riadiacej metódy, výhodou je,Nemusíme posudzovať každý ovládač a robiť opakujúcu sa prácu。
Skontrolujte validáciu modelu ModelState
Filtre recenzií
Zopakujte si svoje znalosti ASP.NET Core
Systém preddefinuje ValidationAttribute Sada validačných vlastností, ktoré prechádzajú z atribútu ValidationAtribút, je definovaná v mennom priestore System.ComponentModel.DataAnnotations.
- RequiredAttribute: Používa sa na overenie požadovaných dátových polí.
- RangeAttribute: Používa sa na overenie, že hodnota číselného poľa je v rámci určeného rozsahu.
- StringLengthAttribute: Používa sa na overenie, že dĺžka reťazca cieľového poľa je v špecifikovanom rozsahu.
- MaxLengthAttribute/MinLengthAttribute: Používa sa na overenie, či je dĺžka slovníka znakov/poľa menšia alebo väčšia ako špecifikovaný horný/dolný limit.
- RegularExpressionAttribute: Používa sa na overenie, či formát reťazcového poľa zodpovedá zadanému regulárnemu výrazu.
- CompareAttribute: Používa sa na overenie, či je hodnota cieľového poľa konzistentná s hodnotou iného poľa, a môže sa použiť na potvrdenie konzistencie zadávania hesla dvakrát v scenári registrácie používateľa.
- CustomValidationAttribute: Špecifikuje typ validácie a validačný spôsob na overenie cieľového člena.
Samozrejme, pravidlá validácie môžeme definovať aj tým, že zdedeme triedu ValidationAttribute a implementujeme zodpovedajúcu metódu.
Pozrime sa najprv na renderovania, chybové hlásenie vracia pozadie rozhrania nasledovne:
Kód objektového modelu:
Kód filtra ModelStateFilter:
Kód IsAjaxRequest je nasledovný:
Nakoniec pridajte vlastný filter do Startup súboru, kód je nasledovný:
(Koniec)
|