MVVMCROSS -is tulevad andmete valideerimise ja serialiseerimisega tegelemisel sageli mängu kaks atribuuti: "nõutav" ja "jsonrequiredAttribute". Need atribuudid teenivad erinevaid eesmärke ja neid kasutatakse rakenduse elutsükli erinevates etappides.
nõutav atribuut
Atribuut "nõutav" on osa "System.componentModel.DataAnnotations" nimeruumist ja seda kasutatakse mudeli valideerimiseks. See näitab, et atribuudil peab olema väärtus; Vastasel juhul peetakse mudelit kehtetuks. Seda atribuuti kasutatakse tavaliselt pärast desualiseerimist, mudeli valideerimise etapis. Näiteks ASP.NET -tuumas, kui atribuuti on kaunistatud `[nõutav]`, on `ModelState` kehtetu, kui see omadus puudub või mudeli sidumise ajal null.
Kuigi MVVMCrossis, kuigi atribuuti saab valideerimiseks kasutada, ei vasta see otseselt JSON -i seerialiseerimis- ega desualiseerimisprotsessidega. Selle asemel on see pigem tagamine, et teatud atribuudid asuksid enne äriloogika jätkamist.
jsonrequiredAttribute
JsonrequiredAttribute "on spetsiifiline JSON -i serialiseerimisel ja derialiseerimisel. Seda kasutatakse selleks, et näidata, et omadus peab olema JSON -i andmetes desualiseerimise ajal. See atribuut on JSON -andmetega töötamisel ülioluline, kuna see tagab, et vajalikud omadused on alati olemas, hoides ära puuduvate andmete tõttu potentsiaalseid vigu.
MVVMcrossis, kui kasutate JSON -i navigeerimiseks või andmeedastuseks vaatemudelite vahel, tagab JSONRequireTatribute`, et nõutavad omadused on seerialiseeritud ja korrektsed. See on eriti oluline, kuna MVVMCross tugineb navigeerimise ajal keeruka parameetrite jaoks suuresti JSON -ile.
Peamised erinevused
1. eesmärk:
- Vajalik on üldise mudeli valideerimiseks, tagades, et omadused asustavad pärast derialistamist.
- `jsonrequiredAttribute` on spetsiaalselt selleks, et tagada omaduste olemasolu JSON -i desualiseerimisel.
2. kasutamisetapp:
- "Vajalik" kasutatakse mudeli valideerimise ajal, pärast desualiseerimist.
- `jsonrequiredAttribute` kasutatakse JSON -i deserialiseerimise enda ajal.
3. ulatus:
- Vajalikku saab kasutada erinevatel andmevormingutel ja valideerimisstsenaariumidel.
- `JSONRequireDatTribute` on spetsiaalselt kohandatud JSON -i andmete käitlemiseks.
4. Käitumine:
- Kui puudub nõutav atribuut, põhjustab see pärast desualiseerimist valideerimisviga.
- Kui JSON -i deserialiseerimise ajal puudub atribuut "JsonRequiredattribute", siis tavaliselt viskab see erandi või põhjustab desualiseerimisvea.
Kokkuvõtlikult võib öelda, et kuigi mõlemat atribuuti kasutatakse andmete terviklikkuse tagamiseks, on "vajalik" pigem mudeli üldise valideerimise kohta, samas kui "jsonrequiredAttribute" on spetsiaalselt keskendunud andmete olemasolu tagamisele JSON -i seerialiseerimise ja derialistamise protsesside ajal MVVMCrossi rakendustes.
Tsitaadid:]
[2] https://www.mvvmcross.com/documentation/plugins/json
[3] https://stackoverflow.com/questions/49237767/using-quired-and-jsonrequired-in-asp-net-core-model-binding-with-json-body
]
[5] https://www.mvvmcross.com/documentation/geting-sted/mvvmcross-overview
]
[7] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter
[8] https://www.mvvmcross.com/documentation/fundamentals/navigation
]
]
]