Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 45361|Svar: 1

[ASP.NET] ASP.NET Core(4)-filter, samlet ModelState-modelvalidering

[Kopier link]
Opslået den 13-3-2021 kl. 20:48:05 | | | |
Modeltilstands- og dataannoteringer i C# giver os en bekvem måde at anmode om dataverifikation på. ModelState-modelverifikation betyder ganske enkelt, at backenden sparer en masse parameterverifikationsarbejde, blot tilføjer tilsvarende funktioner til modellen og til sidst kalder ModelState.IsValid i controlleren for at få verifikationsresultaterne. Uden ModelState kan vores validering af backend-parametre have brug for at skrive mange if-vurderinger.

Krav: Vi vurderer, om parametrene for POST har bestået modelverifikationen i filteret, hvis de ikke består verifikationen, returnerer vi direkte en samlet json-fejlmeddelelse, først efter verifikationen er bestået, og derefter indtaster vi controller-metoden, fordelen ved dette er,Vi behøver ikke at bedømme hver controller og lave gentagende arbejde

Gennemgå valideringen af ModelState-modellen

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

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

Asp.net Validering af Core Model Data
https://www.itsvse.com/thread-9016-1-1.html

Anmeldelsesfiltre

mvc brugerdefineret filter ActionFilterAttribut-klassen

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

Gennemgå din viden om ASP.NET Core

ASP.NET Core (iii) Opret dynamisk instanser ved hjælp af ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Genstart applikationen ved at kode
https://www.itsvse.com/thread-9480-1-1.html

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

Systemet foruddefinerer ValidationAttribute
Et sæt valideringsfunktioner, der arver fra ValidationAttribut, er defineret under System.ComponentModel.DataAnnotations-navnerummet.

  • RequiredAttribute: Bruges til at validere nødvendige datafelter.
  • RangeAttribute: Bruges til at verificere, at værdien af et numerisk felt ligger inden for det angivne interval.
  • StringLengthAttribute: Bruges til at verificere, at strenglængden af målfeltet ligger inden for det specificerede interval.
  • MaxLengthAttribute/MinLengthAttribute: Bruges til at verificere, om længden af tegn-/array-ordbogen er mindre end/større end den angivne øvre/nedre grænse.
  • RegularExpressionAttribute: Bruges til at verificere, at formatet på strengfeltet matcher det specificerede regulære udtryk.
  • CompareAttribute: Bruges til at verificere, om værdien af målfeltet er konsistent med værdien af et andet felt, og kan bruges til at bekræfte konsistensen ved at indtaste adgangskoden to gange i en brugerregistreringssituation.
  • CustomValidationAttribute: Specificerer en valideringstype og valideringsmetode til at validere målmedlemmet.



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

Lad os først se på renderingen, fejlmeddelelsen returneres af baggrundsinterfacet som følger:



Objektmodelkode:

ModelStateFilter filterkode:



IsAjaxRequest-koden er som følger:

Tilføj endelig et brugerdefineret filter til Startup-filen, koden er som følger:



(Slut)




Tidligere:HtmlAgilityPack parser HTML-tips til rollups
Næste:.NET Core kalder Baidu PaddleOCR for at genkende billeder og tekster
Opslået den 22-9-2021 kl. 20:40:25 |
Lær at lære...
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com