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