Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 45361|Svare: 1

[ASP.NET] ASP.NET Core(4)-filteret enhetlig ModelState-modellvalidering

[Kopier lenke]
Publisert 13.03.2021 kl. 20:48:05 | | | |
Modelltilstands- og dataannotasjoner i C# gir oss en praktisk måte å be om dataverifisering på. ModelState-modellverifisering betyr ganske enkelt å hjelpe backend med å spare mye parameterverifisering, bare legge til tilsvarende funksjoner i modellen, og til slutt kalle ModelState.IsValid i kontrolleren for å få verifiseringsresultatene. Uten ModelState kan valideringen av backend-parametere måtte skrive mange if-vurderinger.

Krav: Vi vurderer om parameterne til POST har bestått modellverifiseringen i filteret, hvis de ikke består verifiseringen, returnerer vi direkte en samlet json-feilmelding først etter at verifiseringen er bestanket, og går deretter inn i kontrollermetoden, fordelen med dette er,Vi trenger ikke å dømme hver kontroller og gjøre repeterende arbeid

Gjennomgå valideringen av ModelState-modellen

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

Valider modellfeltene manuelt ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net validering av kjernemodelldata
https://www.itsvse.com/thread-9016-1-1.html

Gjennomgangsfiltre

mvc tilpasset filter ActionFilterAttribut-klassen

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

Gå gjennom kunnskapen din om ASP.NET Core

ASP.NET Core (iii) Opprett instanser dynamisk ved hjelp av ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Start applikasjonen på nytt via kode
https://www.itsvse.com/thread-9480-1-1.html

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

Systemet forhåndsdefinerer ValidationAttribute
Et sett med valideringsfunksjoner som arver fra ValidationAttribute er definert under System.ComponentModel.DataAnnotations-navnerommet.

  • RequiredAttribute: Brukes til å validere nødvendige datafelt.
  • RangeAttribute: Brukes for å verifisere at verdien av et numerisk felt er innenfor det angitte området.
  • StringLengthAttribute: Brukes for å verifisere at strenglengden til målfeltet er innenfor det angitte området.
  • MaxLengthAttribute/MinLengthAttribute: Brukes til å verifisere om lengden på tegn-/array-ordboken er mindre enn/større enn den angitte øvre/nedre grensen.
  • RegularExpressionAttribute: Brukes for å verifisere at formatet på strengfeltet samsvarer med det spesifiserte regulære uttrykket.
  • CompareAttribute: Brukes til å verifisere om verdien til målfeltet er konsistent med verdien til et annet felt, og kan brukes til å bekrefte konsistensen ved å skrive inn passordet to ganger i et brukerregistreringsscenario.
  • CustomValidationAttribute: Spesifiserer en valideringstype og valideringsmetode for å validere målmedlemmet.



Selvfølgelig kan vi også definere reglene for validering ved å arve ValidationAttribut-klassen og implementere den tilsvarende metoden.

La oss se på renderingene først, feilmeldingen returneres av bakgrunnsgrensesnittet, som følger:



Objektmodellkode:

ModelStateFilter-filterkode:



IsAjaxRequest-koden er som følger:

Til slutt, legg til et tilpasset filter i oppstartsfilen, koden er som følger:



(Slutt)




Foregående:HtmlAgilityPack parser HTML-tips for rollups
Neste:.NET Core kaller Baidu PaddleOCR for å gjenkjenne bilder og tekster
Publisert 2021-9-22 20:40:25 |
Lær å lære...
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com