Modeļa stāvokļa un datu anotācijas C# nodrošina mums ērtu veidu, kā pieprasīt datu pārbaudi. ModelState modeļa verifikācija vienkārši nozīmē palīdzēt aizmugures sistēmai ietaupīt daudz parametru verifikācijas darba, vienkārši pievienojiet modelim atbilstošas funkcijas un visbeidzot izsauciet kontrolierī ModelState.IsValid, lai iegūtu verifikācijas rezultātus. Bez ModelState, mūsu aizmugures parametru validācijai var būt nepieciešams rakstīt daudz spriedumu.
Prasības: Mēs spriežam, vai POST parametri ir izturējuši modeļa pārbaudi filtrā, ja tie neiztur verifikāciju, tieši atgriež vienotu json kļūdas ziņojumu tikai pēc verifikācijas un pēc tam ievadiet kontroliera metodi, tā priekšrocība ir,Mums nav jāvērtē katrs kontrolieris un jāveic atkārtots darbs。
ModelState modeļa validācijas pārskatīšana
Pārskatīt filtrus
Pārskatiet savas zināšanas par ASP.NET Core
Sistēma iepriekš definē ValidationAttribute Validācijas līdzekļu kopa, kas pārmanto no ValidationAttribute, ir definēta nosaukumtelpā System.ComponentModel.DataAnnotations.
- RequiredAttribute: izmanto, lai validētu obligātos datu laukus.
- RangeAttribute: izmanto, lai pārbaudītu, vai skaitliskā lauka vērtība ir norādītajā diapazonā.
- StringLengthAttribute: izmanto, lai pārbaudītu, vai mērķa lauka virknes garums ir norādītajā diapazonā.
- MaxLengthAttribute/MinLengthAttribute: izmanto, lai pārbaudītu, vai rakstzīmju/masīva vārdnīcas garums ir mazāks par/lielāks par norādīto augšējo/apakšējo robežu.
- RegularExpressionAttribute: izmanto, lai pārbaudītu, vai virknes lauka formāts atbilst norādītajai regulārajai izteiksmei.
- CompareAttribute: izmanto, lai pārbaudītu, vai mērķa lauka vērtība atbilst cita lauka vērtībai, un to var izmantot, lai apstiprinātu paroles divreiz ievadīšanas konsekvenci lietotāja reģistrācijas scenārijā.
- CustomValidationAttribute: norāda validācijas veidu un validācijas metodi, lai validētu mērķa dalībnieku.
Protams, mēs varam arī definēt validācijas noteikumus, mantojot ValidationAttribute klasi un ieviešot atbilstošo metodi.
Vispirms apskatīsim renderējumus, kļūdas ziņojumu atgriež fona interfeiss šādi:
Objekta modeļa kods:
ModelStateFilter filtra kods:
IsAjaxRequest kods ir šāds:
Visbeidzot, pievienojiet pielāgotu filtru startēšanas failam, kods ir šāds:
(Beigas)
|