Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Vilka är skillnaderna mellan att använda nödvändiga och bindrequired i MVVMCross


Vilka är skillnaderna mellan att använda nödvändiga och bindrequired i MVVMCross


I MVVMCross är de villkor som krävs och bindrequired inte direkt tillämpliga eftersom de är i ASP.NET -kärnan. Att förstå sina roller i ASP.NET -kärnan kan dock hjälpa till att klargöra hur liknande koncept kan tillämpas i MVVMCross.

ASP.NET CORE CONTEXT

- Nödvändigt attribut: Detta attribut säkerställer att en egenskap inte är noll eller tom efter att modellbindning har inträffat. Det används främst för valideringsändamål, vilket säkerställer att obligatoriska fält är fyllda i formulär eller datainmatningsscenarier [1] [3] [6].

- BindRequiredAttribute: Detta attribut säkerställer att en egenskap finns i de inkommande data under modellbindning. Till skillnad från krävs kontrollerar den för närvaron av fastigheten i begäran, inte bara dess ogiltighet [1] [3] [4].

mvvmcross -sammanhang

I MVVMCross ligger fokus på databindning mellan vyn och visningsmodell. Ramverket använder inte nödvändiga eller bindrequired attribut direkt. Istället förlitar det sig på bindningslägen som enväg eller twoway för att hantera datasynkronisering mellan vyn och visningsmodell [2] [7].

- Bindande lägen i MVVMCross:
- Envägs: Data flyter från ViewModel till vyn.
- Twoway: Data flyter båda vägarna mellan vyn och visningsmodell. Detta är standardläget för anpassade bindningar i MVVMCross [7].

För att uppnå liknande funktionalitet som nödvändig eller bindrequired i MVVMCross, skulle du vanligtvis implementera valideringslogik i din ViewModel eller använda anpassade bindningar för att säkerställa att vissa egenskaper uppdateras korrekt. Till exempel kan du använda InotifyPropertyChanged för att meddela synen på förändringar i ViewModel, vilket säkerställer att data alltid är uppdaterade [2] [8].

Implementering av validering i MVVMCross

Medan MVVMCross inte direkt stöder nödvändiga eller bindrequired, kan du implementera validering genom att kontrollera om noll eller tomma värden inom din ViewModels egenskaper. Detta kan göras manuellt eller genom att använda valideringsramar som integreras med MVVMCross.

Sammanfattning

Sammanfattningsvis, medan nödvändiga och bindrequired är specifika för ASP.NET -kärnan för att säkerställa data närvaro och validering, förlitar MVVMCross sina bindningsmekanismer och anpassad valideringslogik för att hantera dataintegritet. Om du behöver se till att vissa data är närvarande eller giltiga i MVVMCross, skulle du vanligtvis implementera denna logik i din ViewModel eller genom anpassade bindningar.

Citeringar:
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
]
[4] https://www.strathweb.com/2017/12/required-and-bindrequired-in-asp-net-core-mvc/
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
]
]
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding