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