Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quelles sont les différences entre l'utilisation requise et Bindrequired dans mvvmcross


Quelles sont les différences entre l'utilisation requise et Bindrequired dans mvvmcross


Dans MVVMCROSS, les termes requis et BinDreQUIRED ne sont pas directement applicables comme ils sont dans le noyau ASP.NET. Cependant, la compréhension de leurs rôles dans ASP.NET Core peut aider à clarifier comment des concepts similaires pourraient être appliqués dans MVVMCROSS.

Contexte de base ASP.NET

- requiredAttribute: Cet attribut garantit qu'une propriété n'est pas nulle ou vide une fois la liaison du modèle. Il est principalement utilisé à des fins de validation, garantissant que les champs obligatoires sont remplis de formulaires ou de scénarios de saisie de données [1] [3] [6].

- bindRequiredAttribute: Cet attribut garantit qu'une propriété est présente dans les données entrantes pendant la liaison du modèle. Contrairement à requis, il vérifie la présence de la propriété dans les données de demande, et pas seulement son nullabilité [1] [3] [4].

Contexte

MVVMCROSS

Dans MVVMCROSS, l'accent est mis sur la liaison des données entre la vue et la vue de vue. Le cadre n'utilise pas directement d'attributs requis ou de liaison. Au lieu de cela, il s'appuie sur des modes de liaison tels que OneWay ou Twoway pour gérer la synchronisation des données entre la vue et la vue ViewModel [2] [7].

- Modes de liaison dans mvvmcross:
- Oneway: les données s'écoulent du ViewModel à la vue.
- TWOWAY: les données circulent dans les deux sens entre la vue et la vue ViewModel. Il s'agit du mode par défaut pour les liaisons personnalisées dans MVVMCROSS [7].

Pour atteindre des fonctionnalités similaires à la requise ou à la liaison dans MVVMCross, vous implémenteriez généralement la logique de validation dans votre ViewModel ou utilisez des liaisons personnalisées pour vous assurer que certaines propriétés sont mises à jour correctement. Par exemple, vous pouvez utiliser InotifyPropertyChanged pour informer la vue des modifications dans ViewModel, en veillant à ce que les données soient toujours à jour [2] [8].

Implémentation de validation dans MVVMCROSS

Bien que MVVMCROSS ne prenne pas directement en charge requis ou BindreQuured, vous pouvez implémenter la validation en vérifiant les valeurs NULL ou vides dans les propriétés de votre ViewModel. Cela peut être fait manuellement ou en utilisant des cadres de validation qui s'intègrent à MVVMCross.

Résumé

En résumé, bien que requis et Bindrequired soient spécifiques au noyau ASP.NET pour garantir la présence et la validation des données, MVVMCross repose sur ses mécanismes de liaison et sa logique de validation personnalisée pour gérer l'intégrité des données. Si vous devez vous assurer que certaines données sont présentes ou valides dans MVVMCross, vous implémenteriez généralement cette logique dans votre ViewModel ou via des liaisons personnalisées.

Citations:
[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.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mastering-the-use-of-requeredattribute-a-deteled-Comparison-of-required-vs-binDequired-b3FEAF108EF5
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-used-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding