A modellállapot és az adat annotációk C#-ban kényelmes módot biztosítanak az adatellenőrzés kérésére. A ModelState modell verifikáció egyszerűen azt jelenti, hogy segít a háttérrendszernek sok paraméterellenőrzési munkát megtakarítani, egyszerűen hozzáadni a megfelelő funkciókat a modellhez, és végül hívja a ModelState.IsValid funkciót a vezérlőben, hogy megkapja az ellenőrző eredményeket. ModelState nélkül a háttérrendszer paraméter validációnknak sok if-ítéletet kell írnia.
Követelmények: Megítéljük, hogy a POST paraméterei átmentek-e a modellellenőrzésen a szűrőben, ha nem felelnek meg az ellenőrzésen, közvetlenül egy egységes json hibaüzenetet adnak vissza, csak a hitelesítés áthaladása után, majd belépünk a vezérlő módszerre, ennek előnye az,Nem kell minden vezérlőt megítélnünk, és ismétlődő munkát végeznünk。
A ModelState modell validációjának áttekintése
Értékelési szűrők
Nézd át a ASP.NET Core ismereteidet
A rendszer előre definiálja a ValidationAttribute-t A ValidationAttribute-tól öröklő validációs funkciók halmaza a System.ComponentModel.DataAnnotations névtér alatt van definiálva.
- RequiredAttribute: Szükséges adatmezők validálására szolgál.
- RangeAttribute: Arra szolgál, hogy ellenőrizze, hogy egy numerikus mező értéke a megadott tartományon belül van-e.
- StringLengthAttribute: Arra szolgál, hogy ellenőrizze, hogy a célmező stringhossza a megadott tartományban van-e.
- MaxLengthAttribute/MinLengthAttribute: Arra használják, hogy ellenőrizzék, hogy a karakter/tömb szótár hossza kisebb-e vagy nagyobb-e a megadott felső/alsó korlátnál.
- RegularExpressionAttribute: Arra szolgál, hogy ellenőrizze, hogy a string mező formátuma egyezik-e a megadott reguláris kifejezéssel.
- CompareAttribute: Arra szolgál, hogy ellenőrizze, hogy a célmező értéke összhangban van-e egy másik mező értékével, és használható arra, hogy megerősítse a jelszó kétszeri beírásának következetét egy felhasználói regisztrációs helyzetben.
- CustomValidationAttribute: Megadja az ellenőrző típust és az érvényesítési módszert a cél tag validálásához.
Természetesen definiálhatjuk az érvényesítési szabályokat a ValidationAttribute osztály öröklése és a hozzá tartozó módszer bevezetésével is.
Először nézzük meg a rendereléseket, a hibaüzenetet a háttérfelület adja vissza, a következőként:
Objektummodell kód:
ModelStateFilter szűrő kód:
Az IsAjaxRequest kódja a következő:
Végül adj hozzá egy egyedi szűrőt az Startup fájlhoz, a kód a következő:
(Vége)
|