MVVMCross'ta, gerekli terimler ve Bindrequired, asp.net çekirdeğinde olduğu için doğrudan uygulanamaz. Bununla birlikte, ASP.NET çekirdeğindeki rollerini anlamak, MVVMCross'ta benzer kavramların nasıl uygulanabileceğini netleştirmeye yardımcı olabilir.
ASP.NET Çekirdek Bağlamı
- GEREKLİTTRIBRUTY: Bu özellik, model bağlanması gerçekleştikten sonra bir özelliğin boş veya boş olmamasını sağlar. Öncelikle doğrulama amacıyla kullanılır, zorunlu alanların formlarda veya veri giriş senaryolarıyla doldurulmasını sağlar [1] [3] [6].
- BindRequiredAttribute: Bu öznitelik, model bağlanması sırasında gelen verilerde bir özelliğin bulunmasını sağlar. Gerekli olduğundan farklı olarak, sadece nulliflitifi değil, istek verilerinde mülkün varlığını kontrol eder [1] [3] [4].
mvvmcross bağlamı
MVVMCross'ta odak, görünüm ve ViewModel arasında veri bağlaması üzerinedir. Çerçeve, gerekli veya bindrequired öznitelikleri doğrudan kullanmaz. Bunun yerine, görünüm ve ViewModel arasındaki veri senkronizasyonunu yönetmek için Oneway veya Twoway gibi bağlanma modlarına dayanır [2] [7].
- MVVMCross'ta Bağlanma Modları:
- Oneway: ViewModel'den görünüme veri akar.
- TWOWAY: Veri görünüm ve ViewModel arasında her iki şekilde de akar. Bu, MVVMCross'taki özel bağlamalar için varsayılan moddur [7].
MVVMCross'ta gerekli veya BindRequired'e benzer işlevsellik elde etmek için, tipik olarak ViewModel'inizde doğrulama mantığını uygularsınız veya belirli özelliklerin doğru bir şekilde güncellendiğinden emin olmak için özel bağlamalar kullanırsınız. Örneğin, ViewModel'deki değişikliklerin görünümünü bildirmek için InotifyPropertyChanged'i kullanabilirsiniz, bu da verilerin her zaman güncel olmasını sağlar [2] [8].
MVVMCross'ta Doğrulama Uygulama
MVVMCross, gerekli veya Bindrequired'i doğrudan desteklemezken, ViewModel'inizin özelliklerinde boş veya boş değerleri kontrol ederek doğrulama uygulayabilirsiniz. Bu manuel olarak veya MVVMCross ile entegre olan doğrulama çerçeveleri kullanılarak yapılabilir.
Özet
Özet olarak, gerekli ve bindrequired, veri varlığını ve doğrulamasını sağlamak için ASP.NET çekirdeğine özgü olsa da, MVVMCross veri bütünlüğünü yönetmek için bağlanma mekanizmalarına ve özel doğrulama mantığına dayanır. MVVMCross'ta belirli verilerin mevcut veya geçerli olduğundan emin olmanız gerekiyorsa, bu mantığı genellikle ViewModel'inizde veya özel bağlamalarla uygulayacaksınız.
Alıntılar:[1] https://blog.
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[3] https://dotnettutorials.net/lesson/bindnever-and-bindrequired-ttribute-in-por-core-mvc/
[4] https://www.strathweb.com/2017/12/required-and-boldrequired-in-por-core-mvc/
[5] https://www.mvvmcross.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
[8] https://www.mvvmcross.com/documentation/adved/custom-data-binding