Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kakšne so razlike med uporabo zahtevane in vezi v mvvmcross


Kakšne so razlike med uporabo zahtevane in vezi v mvvmcross


V MVVMcrossu zahtevani in vezivni izrazi niso neposredno uporabni, saj so v jedru ASP.NET. Vendar lahko razumevanje njihovih vlog v jedru ASP.NET pomaga razjasniti, kako se lahko podobni koncepti uporabijo v MVVMcross.

ASP.NET CORE CONTECT

- Potrebentribut: Ta atribut zagotavlja, da lastnost ni nična ali prazna po vezavi modela. Uporablja se predvsem za potrjevanje in zagotavlja, da so obvezna polja napolnjena v obrazcih ali scenarijih vnosa podatkov [1] [3] [6].

- BindRequiredAttribute: Ta atribut zagotavlja, da je lastnost prisotna v dohodnih podatkih med vezavo modela. Za razliko od potrebnih preveri prisotnost lastnosti v podatkih o zahtevi, ne le njegove razveljavitve [1] [3] [4].

MVVMcross kontekst

V MVVMcrossu je poudarek na vezavi podatkov med pogledom in ViewModel. Okvir ne uporablja zahtevanih ali vezanih atributov neposredno. Namesto tega se za upravljanje sinhronizacije podatkov med The View in ViewModel [2] [7] opira na vezavne načine, kot sta Oneway ali Twoway.

- Načini vezave v mvvmcross:
- OneWay: Podatki tečejo iz ViewModela v pogled.
- Twoway: Podatki tečejo v obe smeri med pogledom in ViewModel. To je privzeti način za vezi po meri v MVVMcross [7].

Če želite doseči podobno funkcionalnost kot potrebno ali vezavo v MVVMcross, običajno v svojem ViewModelu uporabite logiko validacije ali uporabite vezi po meri, da zagotovite, da se nekatere lastnosti pravilno posodabljajo. Na primer, lahko uporabite inotifyPropertyChanged, da obvestite pogled na spremembe v ViewModelu in tako zagotovite, da so podatki vedno posodobljeni [2] [8].

Izvajanje validacije v mvvmcross

Medtem ko MVVMcross ne podpira neposredno potrebnih ali vezanih, lahko validacijo izvedete tako, da preverite ničelne ali prazne vrednosti znotraj lastnosti vašega ViewModela. To je mogoče storiti ročno ali z uporabo okvirov za potrjevanje, ki se integrirajo z MVVMcross.

Povzetek

Če povzamemo, medtem ko sta potrebna in BindRequired značilna za jedro ASP.NET za zagotavljanje prisotnosti in validacije podatkov, se MVVMcross opira na svoje vezavne mehanizme in logiko validacije po meri za upravljanje celovitosti podatkov. Če morate zagotoviti, da so določeni podatki prisotni ali veljavni v MVVMcrossu, to logiko običajno implementirate znotraj vašega ViewModela ali prek vezi po meri.

Navedbe:
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-taget.html
[3] https://dotnetttorials.net/lesson/bindnever-andrequired-attribute-in-asp-net-core-mvc/
[4] https://www.strathweb.com/2017/12/required-and-bendrequired-in-asp-net-core-mvc/
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mastering-the-use-of-requiredattribute-a-detailed-Comparison-OF-Required-VS-Bindrequired-B3FAF108EF5
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default----mode-used-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-tata---inding