Выберите лучший клиент / серверный механизм проверки для MVC - PullRequest
0 голосов
/ 16 декабря 2009

Я пытаюсь выбрать лучшую платформу проверки сервера / клиента для использования с моим приложением MVC. Я хотел бы знать, что является лучшей структурой проверки для использования с MVC для проверки сервера / клиента.

Мои варианты:

  • Валидатор замка
  • Аннотации данных Microsoft
  • nHibernate Validator

Ответы [ 2 ]

2 голосов
/ 16 декабря 2009

С выходом MVC 2 похоже, что MS склоняется к библиотеке System.ComponentModel.DataAnnotations. Это довольно мило - много кода делает для вас.

0 голосов
/ 16 декабря 2009

Я использую xVal с большим успехом.

Самое лучшее, что вы можете полностью автоматизировать проверку:

  • поместите DataAnnotations (или специальные правила) в классы POCO вашего бизнес-уровня (если они есть) или в метаданные классов сущностей buddy классы, если вы используете сущности вплоть до уровня контроллера
  • написать ActionFilter, который будет автоматически проверять параметры для действий вашего контроллера - лучше всего, если все ваши POCO (или сущности) реализуют определенный интерфейс, который определяет метод Validate(), фильтр вызывает этот метод и заполняет ModelState.Errors, если проверка не удалась.
  • Добавьте if (ModelState.IsValid) { ... } в действие вашего контроллера, которое должно работать по-другому, когда модель недействительна
  • Поместите <% = Html.ValidationMessage (...)%> в свои представления, которые будут отображать ошибки проверки
  • При необходимости добавьте проверку клиента xVal к вашим представлениям

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

В Asp.net MVC 2 будет что-то очень похожее на xVal, уже встроенное в фреймворк, поэтому вам решать, какую версию вы используете.

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