Di MVVMCross, ketentuan yang diperlukan dan Bindrequired tidak berlaku langsung karena mereka berada di ASP.NET Core. Namun, memahami peran mereka dalam ASP.NET Core dapat membantu memperjelas bagaimana konsep yang serupa dapat diterapkan dalam MVVMCross.
Konteks inti
asp.net
- EnlestAttribute: Atribut ini memastikan bahwa suatu properti tidak nol atau kosong setelah model pengikatan terjadi. Ini terutama digunakan untuk tujuan validasi, memastikan bahwa bidang wajib diisi dalam bentuk atau skenario entri data [1] [3] [6].
- BindRequiredAttribute: Atribut ini memastikan bahwa suatu properti hadir dalam data yang masuk selama pengikatan model. Tidak seperti yang diperlukan, ia memeriksa keberadaan properti dalam data permintaan, bukan hanya nullabilitasnya [1] [3] [4].
KonteksMVVMCross
Di MVVMCross, fokusnya adalah pada pengikatan data antara tampilan dan viewmodel. Kerangka kerja tidak menggunakan atribut yang diperlukan atau bindquired secara langsung. Sebaliknya, ini bergantung pada mode pengikatan seperti Oneway atau Twoway untuk mengelola sinkronisasi data antara tampilan dan viewmodel [2] [7].
- Mode pengikat di mvvmcross:
- Oneway: Data mengalir dari viewmodel ke tampilan.
- Twoway: Data mengalir kedua cara antara tampilan dan viewmodel. Ini adalah mode default untuk binding khusus di mvvmcross [7].
Untuk mencapai fungsionalitas yang sama dengan yang diperlukan atau diatasi dalam MVVMCross, Anda biasanya akan menerapkan logika validasi dalam ViewModel Anda atau menggunakan binding khusus untuk memastikan bahwa properti tertentu diperbarui dengan benar. Misalnya, Anda dapat menggunakan InotifyPropertyChanged untuk memberi tahu pandangan perubahan dalam viewmodel, memastikan bahwa data selalu terkini [2] [8].
Menerapkan validasi di MVVMCross
Meskipun MVVMCross tidak secara langsung mendukung atau mengikat, Anda dapat mengimplementasikan validasi dengan memeriksa nilai nol atau kosong dalam properti ViewModel Anda. Ini dapat dilakukan secara manual atau dengan menggunakan kerangka kerja validasi yang terintegrasi dengan MVVMCross.
Ringkasan
Singkatnya, walaupun yang diperlukan dan Bindrequired khusus untuk inti ASP.NET untuk memastikan keberadaan dan validasi data, MVVMCross bergantung pada mekanisme pengikatannya dan logika validasi khusus untuk mengelola integritas data. Jika Anda perlu memastikan bahwa data tertentu ada atau valid di MVVMCross, Anda biasanya akan mengimplementasikan logika ini di dalam ViewModel Anda atau melalui binding khusus.
Kutipan:[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.mvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mastering-the-use-of-equiredattribute-a-detailed-comparison-of-equired-vs-bindrequired-b3feaf108ef5
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-ued-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding