C#:n mallitila- ja datamerkinnät tarjoavat meille kätevän tavan pyytää tietojen varmistusta. ModelState-mallin varmennus tarkoittaa yksinkertaisesti sitä, että taustajärjestelmä säästää paljon parametrien varmistustyötä, lisätä malliin vastaavat ominaisuudet ja lopuksi kutsua ModelState.IsValid ohjaimessa saadakseen varmennustulokset. Ilman ModelStatea taustajärjestelmän parametrien validointi saattaa joutua kirjoittamaan paljon if-arvioita.
Vaatimukset: Arvioimme, ovatko POST-parametrit läpäisseet mallin tarkistuksen suodattimessa, jos ne eivät läpäise vahvistusta, palautamme suoraan yhtenäisen json-virheilmoituksen vasta varmistuksen jälkeen, ja sitten syötämme ohjainmenetelmän, tämän etu on,Meidän ei tarvitse tuomita jokaista ohjainta ja tehdä toistuvaa työtä。
Tarkista ModelState-mallin validointi
Arvostelusuodattimet
Tarkista tietosi ASP.NET Coresta
Järjestelmä määrittelee ValidationAttributen etukäteen Joukko validointiominaisuuksia, jotka perivät ValidationAttributesta, määritellään System.ComponentModel.DataAnnotations -nimiavaruudessa.
- RequiredAttribute: Käytetään vaadittujen tietokenttien validointiin.
- RangeAttribute: Käytetään varmistamaan, että numeerisen kentän arvo on määritellyn alueen sisällä.
- StringLengthAttribute: Käytetään varmistamaan, että kohdekentän merkkijonon pituus on määritellyn alueen sisällä.
- MaxLengthAttribute/MinLengthAttribute: Käytetään tarkistamaan, onko merkki/taulukkosanakirjan pituus pienempi tai suurempi kuin määritelty ylä-/alaraja.
- RegularExpressionAttribute: Käytetään varmistamaan, että merkkijonokentän muoto vastaa määriteltyä säännöllistä lauseketta.
- CompareAttribute: Käytetään varmistamaan, onko kohdekentän arvo yhdenmukainen toisen kentän arvon kanssa, ja sitä voidaan käyttää varmistamaan, että salasana syötetään kahdesti käyttäjärekisteröintitilanteessa.
- CustomValidationAttribute: Määrittää validointityypin ja validointimenetelmän kohdejäsenen validointiin.
Tietenkin voimme myös määritellä validointisäännöt perimällä ValidationAttribute-luokan ja toteuttamalla vastaavan metodin.
Katsotaanpa ensin renderöintiä, virheilmoitus palautetaan taustalla olevasta käyttöliittymästä seuraavasti:
Objektimallikoodi:
ModelStateFilter-suodatinkoodi:
IsAjaxRequest-koodi on seuraava:
Lopuksi lisää Startup-tiedostoon mukautettu suodatin, koodi on seuraava:
(Loppu)
|