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
Filtre pentru recenzii
Revizuiește-ți cunoștințele despre ASP.NET Core
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)
|