Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 45361|Antwoord: 1

[ASP.NET] ASP.NET Core(4)-filter uniforme ModelState-modelvalidatie

[Link kopiëren]
Geplaatst op 2021-3-13 20:48:05 | | | |
Modeltoestand- en data-annotaties in C# bieden ons een handige manier om gegevensverificatie aan te vragen. ModelState-modelverificatie betekent simpelweg dat om de backend veel parameterverificatie te besparen, gewoon overeenkomstige functies aan het model toevoegt en tenslotte ModelState.IsValid in de controller aanroept om de verificatieresultaten te krijgen. Zonder ModelState kan het zijn dat onze backend-parametervalidatie veel if-oordelen moet schrijven.

Vereisten: We beoordelen of de parameters van POST de modelverificatie in het filter hebben doorstaan; als ze de verificatie niet doorstaan, geven we direct een unified json-foutmelding terug nadat de verificatie is geslaagd, en gaan vervolgens in de controllermethode, het voordeel hiervan is,We hoeven niet elke controller te beoordelen en repetitief werk te doen

Bekijk de validatie van het ModelState-model

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

Valideer modelvelden handmatig ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Validatie van kernmodelgegevens
https://www.itsvse.com/thread-9016-1-1.html

Beoordelingsfilters

mvc custom filter ActionFilterAttribute class

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

Herhaal je kennis van ASP.NET Core

ASP.NET Core (iii) Maakt dynamisch instanties aan met behulp van ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Herstart de applicatie via code
https://www.itsvse.com/thread-9480-1-1.html

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

Het systeem predefineert het ValidationAttribuut
Een set validatiefuncties die van het ValidationAttribuut erven, wordt gedefinieerd onder de naamruimte System.ComponentModel.DataAnnotations.

  • RequiredAttribute: Gebruikt om vereiste datavelden te valideren.
  • RangeAttribute: Gebruikt om te verifiëren dat de waarde van een numeriek veld binnen het opgegeven bereik valt.
  • StringLengthAttribuut: Gebruikt om te verifiëren dat de lengte van de string van het doelveld binnen het opgegeven bereik valt.
  • MaxLengthAttribute/MinLengthAttribute: Gebruikt om te verifiëren of de lengte van het teken-/array-woordenboek kleiner is dan/groter dan de opgegeven bovenste/onderste limiet.
  • RegularExpressionAttribute: Gebruikt om te verifiëren dat het formaat van het stringveld overeenkomt met de gespecificeerde reguliere expressie.
  • CompareAttribute: Gebruikt om te verifiëren of de waarde van het doelveld consistent is met die van een ander veld, en kan worden gebruikt om de consistentie te bevestigen van het twee keer invoeren van het wachtwoord in een gebruikersregistratiescenario.
  • CustomValidationAttribute: Specificeert een validatietype en validatiemethode om het doellid te valideren.



Natuurlijk kunnen we ook de regels voor validatie definiëren door de ValidationAttribut-klasse te erven en de bijbehorende methode te implementeren.

Laten we eerst naar de renderings kijken, het foutbericht wordt teruggegeven door de achtergrondinterface, als volgt:



Objectmodelcode:

ModelStateFilter filtercode:



De IsAjaxRequest-code is als volgt:

Voeg tenslotte een aangepast filter toe aan het Opstartbestand, de code is als volgt:



(Einde)




Vorig:HtmlAgilityPack parseert HTML-tips voor rollups
Volgend:.NET Core roept Baidu PaddleOCR aan om afbeeldingen en teksten te herkennen
Geplaatst op 22-9-2021 20:40:25 |
Leer leren...
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com