Я пытаюсь решить, какой подход к проверке использовать для нового проекта ASP.NET MVC. (И вау, вариантов масса!)
В проекте используется NHibernate, поэтому первым делом я рассмотрел NHibernate Validator (из-за тесной интеграции с NHibernate). Однако, насколько я понимаю, такая тесная интеграция дает только несколько преимуществ:
1) Схемы БД, сгенерированные NHibernate, будут включать детали проверки (например, длина столбцов будет установлена на максимальное значение, разрешенное при проверке). (Хотя меня это не особо интересует, поскольку я генерирую схемы вручную.)
2) NHibernate выдаст исключение, если вы попытаетесь сохранить данные, не соответствующие требованиям валидации. (Мне это кажется довольно избыточным, поскольку данные, по-видимому, уже будут проверены любым механизмом, который вы выберете перед сохранением в любом случае)
Если у NHibernate Validator больше преимуществ, дайте мне знать!
Другие библиотеки, о которых я немного читал, включают:
- MS DataAnnotations
- Замок Валидатор
- Что-то другое?
Я также думал об использовании xVal для обеспечения проверки на стороне клиента по тому же набору правил. Однако я слышал, что ASP.NET MVC v2 будет включать что-то похожее на xVal (интеграция с jquery) из коробки? Сделает ли эта новая включенная функция ненужной некоторые другие?
Итак, я в основном прошу совета у людей, в каком направлении двигаться. Я не хочу внедрять какую-то конкретную схему, только для того, чтобы отказываться от нее, когда другая становится доминирующей технологией.
Что сработало для вас? Как вы думаете, какой вариант имеет / будет иметь преимущество?
Спасибо!