Označbe stanja modela in podatkov v C# nam omogočajo priročen način za zahtevo po preverjanju podatkov. ModelState modelna verifikacija preprosto pomeni, da pomaga backendu prihraniti veliko dela pri preverjanju parametrov, preprosto dodati ustrezne funkcije modelu in na koncu poklicati ModelState.IsValid v krmilniku za pridobitev rezultatov preverjanja. Brez ModelState bo naša validacija parametrov v ozadju morda morala napisati veliko if ocen.
Zahteve: Presodimo, ali so parametri POST prestali verifikacijo modela v filtru, če ne prestanejo preverjanja, neposredno vrnemo enotno json sporočilo o napaki, šele po uspešno opravljenem preverjanju, in nato vnesemo metodo krmilnika, prednost tega je,Ni nam treba soditi vsakega kontrolerja in opravljati ponavljajočega se dela。
Preverite validacijo modela ModelState
Filtri za ocene
Ponovite svoje znanje o ASP.NET Core
Sistem vnaprej določa ValidationAttribute Nabor validacijskih funkcij, ki podedujejo atribut ValidationAtribut, je definiran v imenskem prostoru System.ComponentModel.DataAnnotations.
- RequiredAttribute: Uporablja se za preverjanje zahtevanih podatkovnih polj.
- RangeAttribute: Uporablja se za preverjanje, ali je vrednost številčnega polja znotraj določenega območja.
- StringLengthAttribute: Uporablja se za preverjanje, da je dolžina niza ciljnega polja znotraj določenega območja.
- MaxLengthAttribute/MinLengthAttribute: Uporablja se za preverjanje, ali je dolžina slovarja znakov/polj manjša/večja od določene zgornje/spodnje meje.
- RegularExpressionAttribute: Uporablja se za preverjanje, ali format polja niza ustreza določenemu regularnemu izrazu.
- CompareAttribute: Uporablja se za preverjanje, ali je vrednost ciljnega polja skladna z vrednostjo drugega polja, in se lahko uporabi za potrditev doslednosti vnosa gesla dvakrat v primeru registracije uporabnika.
- CustomValidationAttribute: Določa vrsto validacije in metodo validacije za validacijo ciljnega člana.
Seveda lahko pravila za validacijo definiramo tudi tako, da podedujemo razred ValidationAttribute in implementiramo ustrezno metodo.
Najprej si poglejmo upodabljanja, sporočilo o napaki se vrne prek vmesnika v ozadju, kot sledi:
Koda objektnega modela:
Koda filtra ModelStateFilter:
Koda IsAjaxRequest je naslednja:
Na koncu dodajte prilagojen filter v datoteko Startup, koda je naslednja:
(Konec)
|