Mudeli oleku ja andmete annotatsioonid C#-s pakuvad meile mugavat võimalust andmete kontrolli taotlemiseks. ModelState'i mudeli verifitseerimine tähendab lihtsalt seda, et backendil säästaks palju parameetrite verifitseerimistööd, lihtsalt lisatakse mudelile vastavad funktsioonid ja lõpuks kutsutakse kontrolleris ModelState.IsValid, et saada verifitseerimise tulemused. Ilma ModelState'ita võib meie taustaparameetrite valideerimine vajada palju if-hinnanguid.
Nõuded: Hindame, kas POST-i parameetrid on läbinud mudeli verifitseerimise filtris, kui nad ei läbi, tagastame otse ühtse JSON-veateate alles pärast verifitseerimise läbimist ja seejärel sisestame kontrolleri meetodi, selle eelis on,Me ei pea iga kontrollerit hindama ja tegema korduvat tööd。
Vaata üle ModelState mudeli valideerimine
Arvustusfiltrid
Vaata üle oma teadmised ASP.NET Core'ist
Süsteem määratleb ValidationAttribute'i eelnevalt Valideerimisfunktsioonide kogum, mis pärib ValidationAttribute'ist, on määratletud System.ComponentModel.DataAnnotations nimeruumis.
- RequiredAttribute: Kasutatakse nõutavate andmeväljade valideerimiseks.
- RangeAttribute: Kasutatakse selleks, et kontrollida, et numbrilise välja väärtus on määratud vahemikus.
- StringLengthAttribute: Kasutatakse selleks, et kontrollida, et sihtvälja stringi pikkus on määratud vahemikus.
- MaxLengthAttribute/MinLengthAttribute: Kasutatakse selleks, et kontrollida, kas märgi/massiivi sõnastiku pikkus on väiksem või suurem kui määratud ülemine/alumine piir.
- RegularExpressionAttribute: Kasutatakse selleks, et kontrollida, kas stringivälja formaat vastab määratud regulaaravaldisele.
- CompareAttribute: Kasutatakse selleks, et kontrollida, kas sihtvälja väärtus on kooskõlas teise välja väärtusega, ning seda saab kasutada parooli sisestamise järjepidevuse kinnitamiseks kasutaja registreerimise stsenaariumis.
- CustomValidationAttribute: Määrab valideerimistüübi ja valideerimismeetodi sihtliikme valideerimiseks.
Loomulikult saame valideerimise reeglid määratleda ka pärides ValidationAttribute klassi ja rakendades vastava meetodi.
Vaatame esmalt renderdusi, taustaliidese kaudu tagastatakse veateade järgmiselt:
Objektimudeli kood:
ModelStateFilter filtri kood:
IsAjaxRequest kood on järgmine:
Lõpuks lisa Startup-failile kohandatud filter, kood on järgmine:
(Lõpp)
|