Проверка данных в MVC - PullRequest
       43

Проверка данных в MVC

4 голосов
/ 03 февраля 2012

Предположим, у меня есть «Вид» для заполнения формы для аренды DVD, согласно архитектуре MVC, «Контроллер» или «Модель», кто должен проверять данные формы?Спасибо

Ответы [ 3 ]

2 голосов
/ 03 февраля 2012

Ваша проверка должна быть в разделе Модель MVC. Поскольку модели имеют различные поля, только модели могут знать, какая комбинация входов делает эту модель действительной.Дело не только в том, является ли поле пустым или соответствует ли вход этого поля некоторому шаблону, но иногда это комбинация входных полей или отношения модели с другими моделями, которые определяют действительное состояние.

1 голос
/ 03 февраля 2012

Все 3 обычно участвуют в процессе проверки, если вы следуете обычному потоку.

Модель определяет атрибуты проверки, такие как обязательные атрибуты или атрибуты длины строки.Контроллер проверяет состояние проверки модели через ModelState.IsValid и принимает соответствующие решения.Представление может дополнительно обеспечивать проверку на стороне клиента для тех же атрибутов.Не полагайтесь исключительно на JS для проверки формы.

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

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

...