Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hva er forskjellene mellom å bruke nødvendige og bindreklagte i MVVMCROSS


Hva er forskjellene mellom å bruke nødvendige og bindreklagte i MVVMCROSS


I MVVMCROSS er ikke vilkårene som kreves og bindrede ikke er direkte anvendelige ettersom de er i ASP.NET -kjernen. Å forstå deres roller i ASP.NET -kjernen kan imidlertid bidra til å avklare hvordan lignende konsepter kan brukes i MVVMCROSS.

ASP.NET Core Context

- PåkrevdAttribute: Denne attributtet sikrer at en eiendom ikke er null eller tom etter at modellbinding har skjedd. Det brukes først og fremst til valideringsformål, og sikrer at obligatoriske felt fylles ut skjemaer eller datainnføringscenarier [1] [3] [6].

- BindRequiredAttribute: Denne attributtet sikrer at en egenskap er til stede i innkommende data under modellbinding. I motsetning til nødvendig, sjekker den for tilstedeværelsen av egenskapen i forespørselsdataene, ikke bare dens ugyldighet [1] [3] [4].

mvvmcross kontekst

I MVVMCROSS er fokuset på databinding mellom visningen og ViewModel. Rammeverket bruker ikke nødvendige eller bindrede attributter direkte. I stedet er det avhengig av bindingsmodus som Oneway eller Twoway for å administrere datasynkronisering mellom visningen og ViewModel [2] [7].

- Bindingsmodus i MVVMCROSS:
- Oneway: Data flyter fra ViewModel til visningen.
- Twoway: Data flyter begge veier mellom visningen og ViewModel. Dette er standardmodus for tilpassede bindinger i MVVMCROSS [7].

For å oppnå lignende funksjonalitet som påkrevd eller koblet til i MVVMCROSS, vil du vanligvis implementere valideringslogikk i ViewModel eller bruke tilpassede bindinger for å sikre at visse egenskaper blir oppdatert riktig. For eksempel kan du bruke inotifyPropertyChanged for å varsle visningen om endringer i ViewModel, og sikre at data alltid er oppdatert [2] [8].

Implementering av validering i MVVMCROSS

Selv om MVVMCROSS ikke direkte støtter nødvendig eller bindrengt, kan du implementere validering ved å sjekke for null eller tomme verdier i ViewModels egenskaper. Dette kan gjøres manuelt eller ved å bruke valideringsrammer som integreres med MVVMCROSS.

Sammendrag

Oppsummert, selv om det er nødvendig og bindrenet er spesifikke for ASP.NET -kjernen for å sikre data tilstedeværelse og validering, er MVVMCROSS avhengig av sine bindingsmekanismer og tilpasset valideringslogikk for å administrere dataintegritet. Hvis du trenger å sikre at visse data er til stede eller gyldige i MVVMCROSS, vil du vanligvis implementere denne logikken i ViewModel eller gjennom tilpassede bindinger.

Sitasjoner:
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[3] https://dotnettutorials.net/lesson/bindnever-and-bindrequired-attribute-in-asp-net-core-mvc/
[4] https://www.strathweb.com/2017/12/required-and-bindrequired-in-asp-net-core-mvc/
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mastering-the-use-of-equiredattribute-a-tetailed-comparison-of-Required-vs-bindRequired-b3feaf108ef5
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-modus-uste-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding