Проверка модели MVC на нескольких страницах - PullRequest
1 голос
/ 03 февраля 2011

Для текущего проекта MVC3 у меня есть модель, которая имеет несколько страниц для ввода. Объект настроен с обязательными полями, но они находятся на разных страницах. Это означает, что я не могу выполнить простую проверку ModelState.IsValid. Вместо этого я проверяю, имеет ли текущая страница все необходимые значения, прежде чем позволить пользователю перейти к следующей. Это не кажется идеальным.

Одной из главных вещей, которые мне не нравятся, является тот факт, что наличие обязательных полей на странице, отличной от первой, означает, что обратная передача и общий сбой проверки уже произошли, поэтому все обязательные поля на следующей странице уже отмечены состояние ошибки, даже если пользователь никогда не был на странице.

Есть ли рекомендации по проверке сущности с несколькими входными страницами, на которых есть обязательные поля?

Ответы [ 2 ]

3 голосов
/ 03 февраля 2011

Вы должны использовать модели представления вместо моделей вашего домена.Так что вы можете разделить модель вашего домена на несколько моделей представлений для каждого шага мастера.Вот другой ответ , который может оказаться полезным.

0 голосов
/ 03 февраля 2011

Это одна из причин, почему рекомендуется использовать отдельный ViewModel для каждой страницы, а использование классов Entity непосредственно в ViewModel не рекомендуется.

С отдельными ViewModel вы можете адаптировать атрибут-на основе проверки по мере необходимости.Это усложнит ситуацию тем, что вам нужно будет найти способ сопоставления между ViewModels и вашими сущностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...