Ich weiß, dass dies klingt ein bisschen ähnlich wie einige andere Fragen, aber ich habe keine gefunden, die meine Abfrage erfüllt, so bitte mit mir. Ich übersetze gerade eine meiner bestehenden Anwendungen in das MVVM-Muster, um die Struktur zu verbessern, und ich bin ein bisschen verwirrt, was die beste Möglichkeit wäre, die Datenvalidierung durchzuführen.Beratung in Bezug auf Validierung in MVVM
Derzeit verwendet die Anwendung Datenbindung, um die Benutzeroberfläche und den Code zu verknüpfen, und verwendet einige Validierungsregeln und Wertkonverter, die für ähnliche Werte wiederverwendet werden können (jeweils einer für Daten usw.).
Während ich auf MVVM gelesen habe, bin ich auf IDataErrorInfo gestoßen, was ich als attraktiv empfinde, da es die Validierung aus der Sicht heraushält, wodurch Wiederholungscode bei der Einstellung von Bindungen usw. leicht reduziert wird und spezifischere Fehlermeldungen möglich sind.
ValidationRules auf der anderen Seite blockieren die Übertragung von Bindungsdaten, wenn die Validierung fehlschlägt, die ich brauche, weil ich nur die Modellwerte ändern möchte, wird ein neuer, gültiger Wert geliefert.
Meine Hauptsorge ist, dass wenn ich im Viewmodel zu sehr einschränke, dass dies die Sicht erschwert - ist es sinnvoll, im allgemeinen Fall auf ein angenehmes Maß zu beschränken und dann bestimmte Fälle zu beheben Brauchen Sie mehr Flexibilität in der Sicht?
Also meine Hauptfrage ist, wäre es besser, Validierung und Konvertierung in den Eigenschaften des Viewmodels zu setzen oder mit meinen Validierungsregeln und Wertumwandlern (oder einigen Kompromissen dazwischen) zu bleiben?
Danke, James
Danke, ich hatte etwas Ähnliches im Sinn, war mir aber nicht sicher, ob es der richtige Weg war. Ich denke, das Viewmodel mit all dem Zeug umgehen zu lassen, ist der richtige Weg. – Moonshield