See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 45361|Vastuse: 1

[ASP.NET] ASP.NET Core(4) filter ühtlustatud ModelState mudeli valideerimine

[Kopeeri link]
Postitatud 2021-3-13 20:48:05 | | | |
Mudeli oleku ja andmete annotatsioonid C#-s pakuvad meile mugavat võimalust andmete kontrolli taotlemiseks. ModelState'i mudeli verifitseerimine tähendab lihtsalt seda, et backendil säästaks palju parameetrite verifitseerimistööd, lihtsalt lisatakse mudelile vastavad funktsioonid ja lõpuks kutsutakse kontrolleris ModelState.IsValid, et saada verifitseerimise tulemused. Ilma ModelState'ita võib meie taustaparameetrite valideerimine vajada palju if-hinnanguid.

Nõuded: Hindame, kas POST-i parameetrid on läbinud mudeli verifitseerimise filtris, kui nad ei läbi, tagastame otse ühtse JSON-veateate alles pärast verifitseerimise läbimist ja seejärel sisestame kontrolleri meetodi, selle eelis on,Me ei pea iga kontrollerit hindama ja tegema korduvat tööd

Vaata üle ModelState mudeli valideerimine

webapi ModelState.IsValid model validation
https://www.itsvse.com/thread-3809-1-1.html

Valideeri mudelivälju käsitsi MVC ASP.NET
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Põhimudeli andmete valideerimine
https://www.itsvse.com/thread-9016-1-1.html

Arvustusfiltrid

mvc kohandatud filter ActionFilterAttribute klass

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

Vaata üle oma teadmised ASP.NET Core'ist

ASP.NET Core (iii) Dünaamiliselt loo instantse ActivatorUtilities abil
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Taaskäivita rakendus koodi järgi
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) kasutab Redis vahemällu salvestamist
https://www.itsvse.com/thread-9393-1-1.html

Süsteem määratleb ValidationAttribute'i eelnevalt
Valideerimisfunktsioonide kogum, mis pärib ValidationAttribute'ist, on määratletud System.ComponentModel.DataAnnotations nimeruumis.

  • RequiredAttribute: Kasutatakse nõutavate andmeväljade valideerimiseks.
  • RangeAttribute: Kasutatakse selleks, et kontrollida, et numbrilise välja väärtus on määratud vahemikus.
  • StringLengthAttribute: Kasutatakse selleks, et kontrollida, et sihtvälja stringi pikkus on määratud vahemikus.
  • MaxLengthAttribute/MinLengthAttribute: Kasutatakse selleks, et kontrollida, kas märgi/massiivi sõnastiku pikkus on väiksem või suurem kui määratud ülemine/alumine piir.
  • RegularExpressionAttribute: Kasutatakse selleks, et kontrollida, kas stringivälja formaat vastab määratud regulaaravaldisele.
  • CompareAttribute: Kasutatakse selleks, et kontrollida, kas sihtvälja väärtus on kooskõlas teise välja väärtusega, ning seda saab kasutada parooli sisestamise järjepidevuse kinnitamiseks kasutaja registreerimise stsenaariumis.
  • CustomValidationAttribute: Määrab valideerimistüübi ja valideerimismeetodi sihtliikme valideerimiseks.



Loomulikult saame valideerimise reeglid määratleda ka pärides ValidationAttribute klassi ja rakendades vastava meetodi.

Vaatame esmalt renderdusi, taustaliidese kaudu tagastatakse veateade järgmiselt:



Objektimudeli kood:

ModelStateFilter filtri kood:



IsAjaxRequest kood on järgmine:

Lõpuks lisa Startup-failile kohandatud filter, kood on järgmine:



(Lõpp)




Eelmine:HtmlAgilityPack parses HTML-näpunäiteid rollupide jaoks
Järgmine:.NET Core kutsub Baidu PaddleOCR-i, et tuvastada pilte ja tekste
Postitatud 2021-9-22 20:40:25 |
Õpi õppima...
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com