Вопрос

Я пытаюсь решить, какой подход к проверке следует использовать для нового проекта ASP.NET MVC.(И ничего себе, есть масса вариантов!)

Проект использует NHibernate, поэтому первое, что я рассмотрел, был валидатор NHibernate (из-за тесной интеграции с NHibernate).Однако, насколько я могу видеть, у такой тесной интеграции есть только пара преимуществ:

1) Схемы БД, сгенерированные NHibernate, будут включать детали проверки (напримердлины столбцов будут установлены на максимальное значение, допустимое при проверке).(На самом деле это меня не интересует, поскольку я генерирую схемы вручную.)

2) NHibernate выдаст исключение, если вы попытаетесь сохранить данные, которые не соответствуют спецификациям проверки.(Мне это кажется довольно избыточным, поскольку данные, по-видимому, уже будут проверены любым механизмом, который вы выберете, перед сохранением в любом случае)

Если у NHibernate Validator есть дополнительные преимущества, пожалуйста, дайте мне знать!

Другие библиотеки, о которых я немного читал, включают:

  • Примечания к данным MS DataAnnotations
  • Валидатор замка
  • Что-то еще?

Я также подумывал об использовании xVal для обеспечения проверки на стороне клиента с помощью того же набора правил.Однако я слышал, что ASP.NET MVC v2 будет включать в себя что-то похожее на xVal (интеграция с jquery) из коробки?Сделает ли эта новая включенная функциональность некоторые другие избыточными?

Итак, я, по сути, прошу у людей совета, в каком направлении действовать здесь.Я не хочу внедрять какую-то конкретную схему только для того, чтобы отказаться от нее, когда другая технология станет доминирующей.

Что у вас сработало?Какой вариант, по вашему мнению, имеет / будет иметь преимущество?

Спасибо!

Это было полезно?

Решение

Я использовал Проверка беглости вместе с Проверка jQuery подключаемый модуль и все еще не могут найти ситуацию, с которой они не могут справиться.

Другие советы

Мне нравится xVal.

С его помощью вы можете очень легко реализовать проверку клиента и сервера.Также существует поддержка проверки столбцов (свойств) для объектов, которые вы хотели бы использовать.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top