Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 45361|Antwort: 1

[ASP.NET] ASP.NET Core(4)-Filter einheitliche ModelState-Modellvalidierung

[Link kopieren]
Veröffentlicht am 13.03.2021, 20:48:05 | | | |
Modellzustands- und Datenannotationen in C# bieten uns eine bequeme Möglichkeit, eine Datenverifikation anzufordern. ModelState-Modellverifikation bedeutet einfach, dem Backend zu helfen, viel Parameterverifizierungsarbeit zu sparen, indem man entsprechende Funktionen zum Modell hinzufügt und schließlich ModelState.IsValid im Controller aufruft, um die Verifikationsergebnisse zu erhalten. Ohne ModelState muss unsere Backend-Parametervalidierung möglicherweise viele if-Urteile schreiben.

Anforderungen: Wir beurteilen, ob die Parameter von POST die Modellverifikation im Filter bestanden haben; wenn sie die Verifikation nicht bestehen, geben wir direkt eine einheitliche JSON-Fehlermeldung zurück, erst nachdem die Verifikation bestanden hat, und geben dann die Controller-Methode ein, der Vorteil davon ist,Wir müssen nicht jeden Controller beurteilen und uns ständig wiederholen

Überprüfen Sie die Validierung des ModelState-Modells

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

Manuelle Validierung von Modellfeldern ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Validierung von Kernmodelldaten
https://www.itsvse.com/thread-9016-1-1.html

Bewertungsfilter

mvc benutzerdefinierter Filter ActionFilterAttribut-Klasse

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

Überprüfe dein Wissen über ASP.NET Core

ASP.NET Core (iii) Erstellen Sie Instanzen dynamisch mit ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Die Anwendung per Code neu starten
https://www.itsvse.com/thread-9480-1-1.html

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

Das System definiert das ValidationAttribut vorab
Eine Menge von Validierungsmerkmalen, die vom ValidationAttribut erben, werden im Namensraum System.ComponentModel.DataAnnotations definiert.

  • RequiredAttribute: Wird zur Validierung erforderlicher Datenfelder verwendet.
  • RangeAttribute: Wird verwendet, um zu überprüfen, dass der Wert eines numerischen Feldes im angegebenen Bereich liegt.
  • StringLengthAttribute: Wird verwendet, um zu überprüfen, dass die Zeichenkettenlänge des Zielfeldes im angegebenen Bereich liegt.
  • MaxLengthAttribute/MinLengthAttribute: Wird verwendet, um zu überprüfen, ob die Länge des Zeichen-/Array-Wörterbuchs kleiner oder größer als das angegebene obere/untere Limit ist.
  • RegularExpressionAttribute: Wird verwendet, um zu überprüfen, ob das Format des Zeichenkettenfeldes mit dem angegebenen regulären Ausdruck übereinstimmt.
  • CompareAttribute: Wird verwendet, um zu überprüfen, ob der Wert des Zielfeldes mit dem eines anderen Feldes übereinstimmt, und kann verwendet werden, um die Konsistenz der zweimaligen Eingabe des Passworts in einem Benutzerregistrierungsszenario zu bestätigen.
  • CustomValidationAttribute: Spezifiziert einen Validierungstyp und eine Validierungsmethode, um das Zielmitglied zu validieren.



Natürlich können wir auch die Regeln für die Validierung definieren, indem wir die ValidationAttribut-Klasse erben und die entsprechende Methode implementieren.

Schauen wir uns zuerst die Renderings an: Die Fehlermeldung wird von der Hintergrundschnittstelle wie folgt zurückgegeben:



Objektmodell-Code:

ModelStateFilter-Filtercode:



Der IsAjaxRequest-Code lautet wie folgt:

Fügen Sie schließlich einen benutzerdefinierten Filter zur Startdatei hinzu, der Code ist wie folgt:



(Ende)




Vorhergehend:HtmlAgilityPack analysiert HTML-Tipps für Rollups
Nächster:.NET Core ruft Baidu PaddleOCR auf, um Bilder und Texte zu erkennen
Veröffentlicht am 22.9.2021, 20:40:25 |
Lerne zu lernen...
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com