Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Was sind die Unterschiede zwischen der Verwendung von Erforderlich und bindempflichtiger in mvvmcross


Was sind die Unterschiede zwischen der Verwendung von Erforderlich und bindempflichtiger in mvvmcross


In MVVMCross sind die erforderlichen und bindrequired nicht direkt anwendbar, da sie sich im ASP.NET -Kern befinden. Wenn Sie jedoch ihre Rolle im ASP.NET -Kern verstehen, können Sie klarstellen, wie ähnliche Konzepte in MVVMCross angewendet werden können.

ASP.NET CORE -Kontext

- fordertAttribute: Dieses Attribut stellt sicher, dass eine Eigenschaft nach der Modellbindung nicht null oder leer ist. Es wird hauptsächlich für Validierungszwecke verwendet, um sicherzustellen, dass obligatorische Felder in Formularen oder Dateneingabeszenarien ausgefüllt sind [1] [3] [6].

- BindRequiredAttribute: Dieses Attribut stellt sicher, dass eine Eigenschaft in den eingehenden Daten während der Modellbindung vorhanden ist. Im Gegensatz zu Bedarf überprüft es das Vorhandensein der Eigenschaft in den Anforderungsdaten, nicht nur der Nullbarkeit [1] [3] [4].

Mvvmcross Kontext

In MVVMCross liegt der Fokus auf der Datenbindung zwischen Ansicht und ViewModel. Das Framework verwendet keine erforderlichen oder bindempfindlichen Attribute direkt. Stattdessen stützt es sich auf Bindungsmodi wie EINEWEY oder TWOWAY, um die Datensynchronisation zwischen Ansicht und ViewModel [2] [7] zu verwalten.

- Bindungsmodi in mvvmcross:
- Einweg: Die Daten fließen vom ViewModel zum Ansicht.
- TWOWAY: Die Daten fließen in beide Richtungen zwischen Ansicht und ViewModel. Dies ist der Standardmodus für benutzerdefinierte Bindungen in mvvmcross [7].

Um eine ähnliche Funktionalität wie in MVVMCross erforderlich oder bindend zu erreichen, werden Sie in der Regel die Validierungslogik in Ihrem ViewModel implementieren oder benutzerdefinierte Bindungen verwenden, um sicherzustellen, dass bestimmte Eigenschaften korrekt aktualisiert werden. Zum Beispiel können Sie InotifyPropertyChanged verwenden, um die Ansicht von Änderungen im ViewModel zu informieren und sicherzustellen, dass die Daten immer aktuell sind [2] [8].

Implementierung der Validierung in mvvmcross

Während MVVMCROSS nicht direkt den erforderlichen oder BindRequed unterstützt, können Sie die Validierung implementieren, indem Sie nach Null- oder leeren Werten in den Eigenschaften Ihres ViewModel -Eigenschaften überprüfen. Dies kann manuell oder durch Verwendung von Validierungsrahmen erfolgen, die sich in MVVMCross integrieren.

Zusammenfassung

Zusammenfassend sind MVVMCross, obwohl er erforderlich und Bindrequired für ASP.NET CORE sind, um die Präsenz und Validierung von Daten zu gewährleisten, auf seine Bindungsmechanismen und die benutzerdefinierte Validierungslogik, um die Datenintegrität zu verwalten. Wenn Sie sicherstellen müssen, dass bestimmte Daten in mvvmcross vorhanden oder gültig sind, werden Sie diese Logik normalerweise in Ihrem ViewModel oder durch benutzerdefinierte Bindungen implementieren.

Zitate:
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvmcross-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-requiredAttribute-a-detailed-comparison-of-required-vs-bindrequired-b3feaf108ef5
[7] https://stackoverflow.com/questions/41768962/mvmcross-default-binding-mode-used-in-a-project
[8] https://www.mvmcross.com/documentation/advanced/custom-data-binding