Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 45361|Svar: 1

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

[Kopiera länk]
Publicerad den 2021-3-13 20:48:05 | | | |
Modelltillstånd och dataannoteringar i C# ger oss ett smidigt sätt att begära dataverifiering. ModelState-modellverifiering innebär helt enkelt att backend sparar mycket arbete med parameterverifiering, lägger bara till motsvarande funktioner i modellen och slutligen anropar ModelState.IsValid i kontrollern för att få verifieringsresultaten. Utan ModelState kan vår validering av backend-parametrar behöva skriva många if-bedömningar.

Krav: Vi bedömer om parametrarna för POST har klarat modellverifieringen i filtret, om de inte klarar verifieringen, returnerar vi direkt ett enhetligt json-felmeddelande först efter verifieringen, och går sedan in i controller-metoden, fördelen med detta är,Vi behöver inte döma varje kontroller och göra repetitivt arbete

Granska valideringen av ModelState-modellen

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

Manuellt validera modellfält ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

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

Recensionsfilter

mvc anpassad filter ActionFilterAttribut-klassen

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

Gå igenom din kunskap om ASP.NET Core

ASP.NET Core (iii) Skapa instanser dynamiskt med hjälp av ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Starta om applikationen via kod
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) använder Redis-cachelagring
https://www.itsvse.com/thread-9393-1-1.html

Systemet fördefinierar ValidationAttribute
En uppsättning valideringsfunktioner som ärver från ValidationAttribute definieras under System.ComponentModel.DataAnnotations-namnrymden.

  • RequiredAttribute: Används för att validera nödvändiga datafält.
  • RangeAttribute: Används för att verifiera att värdet på ett numeriskt fält ligger inom det angivna intervallet.
  • StringLengthAttribute: Används för att verifiera att stränglängden i målfältet ligger inom det angivna intervallet.
  • MaxLengthAttribute/MinLengthAttribute: Används för att verifiera om längden på tecken-/arrayordboken är mindre än/större än den angivna övre/nedre gränsen.
  • RegularExpressionAttribute: Används för att verifiera att formatet på strängfältet matchar det specificerade reguljära uttrycket.
  • CompareAttribute: Används för att verifiera om värdet på målfältet är förenligt med värdet på ett annat fält, och kan användas för att bekräfta att lösenordet anges två gånger i ett användarregistreringsscenario.
  • CustomValidationAttribute: Specificerar en valideringstyp och valideringsmetod för att validera målmedlemmen.



Naturligtvis kan vi också definiera reglerna för validering genom att ärva klassen ValidationAttribute och implementera motsvarande metod.

Låt oss titta på renderingarna först, felmeddelandet returneras av bakgrundsgränssnittet, enligt följande:



Objektmodellkod:

ModelStateFilter-filterkod:



IsAjaxRequest-koden är följande:

Slutligen, lägg till ett anpassat filter i Startfilen, koden är följande:



(Slut)




Föregående:HtmlAgilityPack tolkar HTML-tips för rollups
Nästa:.NET Core anropar Baidu PaddleOCR för att känna igen bilder och texter
Publicerad den 2021-9-22 20:40:25 |
Lär dig att lära dig...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com