Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 45361|Απάντηση: 1

[ASP.NET] ASP.NET Επικύρωση ενοποιημένου μοντέλου ModelState φίλτρου Core(4)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2021-3-13 20:48:05 | | | |
Η κατάσταση του μοντέλου και οι σχολιασμοί δεδομένων στη C# μας παρέχουν έναν βολικό τρόπο για να ζητήσουμε επαλήθευση δεδομένων. Η επαλήθευση μοντέλου ModelState σημαίνει απλώς να βοηθήσετε το backend να εξοικονομήσει πολλές εργασίες επαλήθευσης παραμέτρων, απλώς προσθέστε αντίστοιχες δυνατότητες στο μοντέλο και, τέλος, καλέστε το ModelState.IsValid στον ελεγκτή για να λάβετε τα αποτελέσματα επαλήθευσης. Χωρίς το ModelState, η επικύρωση παραμέτρων backend μπορεί να χρειαστεί να γράψει πολλές κρίσεις if.

Απαιτήσεις: Κρίνουμε εάν οι παράμετροι του POST έχουν περάσει την επαλήθευση μοντέλου στο φίλτρο, εάν δεν περάσουν την επαλήθευση, επιστρέφουν απευθείας ένα ενοποιημένο μήνυμα σφάλματος json, μόνο αφού περάσει η επαλήθευση και, στη συνέχεια, εισαγάγετε τη μέθοδο ελεγκτή, το πλεονέκτημα αυτού είναι,Δεν χρειάζεται να κρίνουμε κάθε ελεγκτή και να κάνουμε επαναλαμβανόμενες εργασίες

Ελέγξτε την επικύρωση του μοντέλου ModelState

webapi ModelState.IsValid επικύρωση μοντέλου
https://www.itsvse.com/thread-3809-1-1.html

Μη αυτόματη επικύρωση πεδίων μοντέλου ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Επικύρωση δεδομένων βασικού μοντέλου
https://www.itsvse.com/thread-9016-1-1.html

Φίλτρα ελέγχου

mvc προσαρμοσμένο φίλτρο κλάση ActionFilterAttribute

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

Ελέγξτε τις γνώσεις σας για το ASP.NET Core

ASP.NET Πυρήνας (iii) Δημιουργήστε δυναμικά παρουσίες χρησιμοποιώντας το ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Πυρήνας (2) Επανεκκινήστε την εφαρμογή με κωδικό
https://www.itsvse.com/thread-9480-1-1.html

Το ASP.NET Core (1) χρησιμοποιεί προσωρινή αποθήκευση Redis
https://www.itsvse.com/thread-9393-1-1.html

Το σύστημα προκαθορίζει το ValidationAttribute
Ένα σύνολο λειτουργιών επικύρωσης που κληρονομούνται από το ValidationAttribute ορίζονται στον χώρο ονομάτων System.ComponentModel.DataAnnotations.

  • RequiredAttribute: Χρησιμοποιείται για την επικύρωση των απαιτούμενων πεδίων δεδομένων.
  • RangeAttribute: Χρησιμοποιείται για την επαλήθευση ότι η τιμή ενός αριθμητικού πεδίου βρίσκεται εντός του καθορισμένου εύρους.
  • StringLengthAttribute: Χρησιμοποιείται για την επαλήθευση ότι το μήκος συμβολοσειράς του πεδίου προορισμού είναι εντός του καθορισμένου εύρους.
  • MaxLengthAttribute/MinLengthAttribute: Χρησιμοποιείται για να επαληθεύσει εάν το μήκος του λεξικού χαρακτήρων/πίνακα είναι μικρότερο/μεγαλύτερο από το καθορισμένο ανώτερο/κατώτερο όριο.
  • RegularExpressionAttribute: Χρησιμοποιείται για την επαλήθευση ότι η μορφή του πεδίου συμβολοσειράς ταιριάζει με την καθορισμένη τυπική έκφραση.
  • CompareAttribute: Χρησιμοποιείται για να επαληθεύσει εάν η τιμή του πεδίου προορισμού είναι συνεπής με την τιμή ενός άλλου πεδίου και μπορεί να χρησιμοποιηθεί για να επιβεβαιώσει τη συνέπεια της εισαγωγής του κωδικού πρόσβασης δύο φορές σε ένα σενάριο εγγραφής χρήστη.
  • CustomValidationAttribute: Καθορίζει έναν τύπο επικύρωσης και μια μέθοδο επικύρωσης για την επικύρωση του μέλους προορισμού.



Φυσικά, μπορούμε επίσης να ορίσουμε τους κανόνες επικύρωσης κληρονομώντας την κλάση ValidationAttribute και εφαρμόζοντας την αντίστοιχη μέθοδο.

Ας ρίξουμε μια ματιά στις αποδόσεις πρώτα, το μήνυμα σφάλματος επιστρέφεται από τη διεπαφή φόντου, ως εξής:



Κωδικός μοντέλου αντικειμένου:

Κωδικός φίλτρου ModelStateFilter:



Ο κωδικός IsAjaxRequest έχει ως εξής:

Τέλος, προσθέστε ένα προσαρμοσμένο φίλτρο στο αρχείο εκκίνησης, ο κώδικας έχει ως εξής:



(Τέλος)




Προηγούμενος:Το HtmlAgilityPack αναλύει συμβουλές HTML για συνάθροιση
Επόμενος:Το .NET Core καλεί το Baidu PaddleOCR για την αναγνώριση εικόνων και κειμένων
Δημοσιεύτηκε στις 2021-9-22 20:40:25 |
Μάθε να μαθαίνεις...
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com