Я ищу оптимальный подход к тому, как выполнять проверку UI в архитектуре модели-представления-презентатора.Model-View-Presenter: Validate UI
Мне нужно проверить некоторые формы с большим количеством элементов управления. Чтобы облегчить задачу для пользователя, я сохраняю все ошибки или предупреждения со ссылкой на элемент управления в журнале, который затем отображается пользователю, чтобы он мог сразу перейти к управлению, которое он должен исправить. Это делается в части представления, что фактически неверно, поскольку валидация должна проводиться в презентаторе для обмена просмотром.
Проблема, связанная с выполнением этой проверки в презентаторе, заключается в том, что она не просто проверяет, являются ли указанные значения неправильными, но также необходимо проверить, были ли проверены радиообъекты, которые позволяют использовать текстовое поле, которое затем должно содержать некоторый текст например.
Я думал об использовании BindingSource в презентаторе, поскольку он отражает изменения пользовательского интерфейса и отображается ведущему. Но я не уверен, что это правильный путь (и я думаю, что это отвратительно)?
К слову: валидация занимает не только место, прежде чем я напишу в базу данных; это уже происходит, когда пользователь работает над формами.
Может ли кто-нибудь подумать о хорошем способе этого?