Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 45361|Odgovoriti: 1

[ASP.NET] ASP.NET Core(4) filter unifikiran validacija modelov ModelState

[Kopiraj povezavo]
Objavljeno 13. 3. 2021 20:48:05 | | | |
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

webapi ModelState.IsValid validacija modela
https://www.itsvse.com/thread-3809-1-1.html

Ročno validirajte polja modela ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Validacija podatkov osnovnega modela
https://www.itsvse.com/thread-9016-1-1.html

Filtri za ocene

mvc custom filter razred ActionFilterAttribute

https://www.itsvse.com/thread-2609-1-1.html

Ponovite svoje znanje o ASP.NET Core

ASP.NET Jedro (iii) Dinamično ustvarjanje instanc z uporabo ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Jedro (2) Ponovni zagon aplikacije s kodo
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) uporablja Redis predpomnjenje
https://www.itsvse.com/thread-9393-1-1.html

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)




Prejšnji:HtmlAgilityPack razčlenjuje HTML nasvete za rollupe
Naslednji:.NET Core kliče Baidu PaddleOCR za prepoznavanje slik in besedil
Objavljeno 22. 9. 2021 ob 20:40:25 |
Nauči se učiti...
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com