Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 45361|Răspunde: 1

[ASP.NET] ASP.NET Filtrul Core(4) validare unificată a modelului ModelState

[Copiază linkul]
Postat la 2021-3-13 20:48:05 | | | |
Starea modelului și adnotările datelor în C# ne oferă o modalitate convenabilă de a solicita verificarea datelor. Verificarea modelului ModelState înseamnă pur și simplu să ajute backend-ul să economisească multă muncă de verificare a parametrilor, să adaugi funcții corespunzătoare modelului și, în final, să apeleze ModelState.IsValid în controller pentru a obține rezultatele verificării. Fără ModelState, validarea parametrilor din backend ar putea necesita să scrie multe judecăți if.

Cerințe: Judecăm dacă parametrii POST au trecut verificarea modelului în filtru, dacă nu trec verificarea, returnăm direct un mesaj de eroare json unificat, doar după ce verificarea trece, și apoi introducem metoda controlerului, avantajul acesteia este,Nu trebuie să judecăm fiecare controller și să facem muncă repetitivă

Revizuiește validarea modelului ModelState

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

Validează manual câmpurile modelului ASP.NET MVC
https://www.itsvse.com/thread-9500-1-1.html

Asp.net Validarea datelor modelului de bază
https://www.itsvse.com/thread-9016-1-1.html

Filtre pentru recenzii

mvc custom filter clasa ActionFilterAttribute

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

Revizuiește-ți cunoștințele despre ASP.NET Core

ASP.NET Core (iii) Crearea dinamică a instanțelor folosind ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Nucleu (2) Repornește aplicația prin cod
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) folosește cache Redis
https://www.itsvse.com/thread-9393-1-1.html

Sistemul predefinește ValidationAttribute
Un set de caracteristici de validare care moștenesc din ValidationAttribute este definit în cadrul spațiului de nume System.ComponentModel.DataAnnotations.

  • RequiredAttribute: Folosit pentru validarea câmpurilor de date necesare.
  • RangeAttribute: Folosit pentru a verifica dacă valoarea unui câmp numeric se află în intervalul specificat.
  • StringLengthAttribute: Folosit pentru a verifica dacă lungimea șirului câmpului țintă se încadrează în intervalul specificat.
  • MaxLengthAttribute/MinLengthAttribute: Folosit pentru a verifica dacă lungimea dicționarului de caractere/tablou este mai mică sau mai mare decât limita superioară/inferioară specificată.
  • RegularExpressionAttribute: Folosit pentru a verifica dacă formatul câmpului string corespunde expresiei regulate specificate.
  • CompareAttribute: Folosit pentru a verifica dacă valoarea câmpului țintă este consistentă cu valoarea altui câmp și poate fi folosit pentru a confirma consistența introducerii parolei de două ori într-un scenariu de înregistrare a utilizatorului.
  • CustomValidationAttribute: Specifică un tip de validare și o metodă de validare pentru a valida membrul țintă.



Desigur, putem defini și regulile de validare prin moștenirea clasei ValidationAttribute și implementarea metodei corespunzătoare.

Să aruncăm mai întâi o privire la randări, mesajul de eroare este returnat de interfața de fundal, astfel:



Cod model de obiect:

Codul filtrului ModelStateFilter:



Codul IsAjaxRequest este următorul:

În final, adăugați un filtru personalizat în fișierul de pornire, codul este următorul:



(Sfârșit)




Precedent:HtmlAgilityPack analizează sfaturi HTML pentru rollup-uri
Următor:.NET Core apelează Baidu PaddleOCR pentru a recunoaște imagini și texte
Postat la 2021-9-22 20:40:25 |
Învață să înveți...
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com