Ich bin auf der Suche nach einem Best-Practice-Ansatz, wie man die UI-Validierung in einer Model-View-Presenter-Architektur durchführt.
Ich muss einige Formulare mit einer Vielzahl von Steuerelementen validieren. Und um es dem Benutzer leicht zu machen, speichere ich alle Fehler oder Warnungen mit einem Verweis auf das Steuerelement in einem Protokoll, das dem Benutzer anschließend angezeigt wird, so dass er sofort zu dem Steuerelement springen kann, das er reparieren muss. Dies geschieht im View-Teil, was eigentlich falsch ist, da die Validierung im Presenter stattfinden sollte, um den View auszutauschen.
Das Problem für mich bei dieser Validierung im Präsentator ist, dass nicht nur geprüft wird, ob die angegebenen Werte falsch sind, sondern auch, ob Radiobuttons markiert wurden, die ein Textfeld aktivieren, das dann z. B. einen Text enthalten muss.
Ich dachte an die Verwendung der BindingSource im Präsentator, da es die UI-Änderungen reflektiert und für den Präsentator sichtbar ist. Aber ich bin nicht sicher, ob dies der richtige Weg zu gehen ist (und ich denke, es ist Art von hässlich)?
Übrigens: Die Validierung findet nicht erst statt, bevor ich in die Datenbank schreibe, sondern bereits, während der Benutzer mit den Formularen arbeitet.
Fällt jemandem eine gute Möglichkeit ein, dies zu tun?