2008-09-30 7 views
6

Я искал рамки проверки и, хотя я уже использую NHibernate, я думаю об использовании NHibernate.validator из проекта Contrib, но я также смотрю блок MS Validation, который кажется надежным, но я не но вдаваться в подробности каждого из них, но я удивляюсь, кто-нибудь сделал шаг в эти две рамки и как это происходит?Блок проверки vs Nhibernate.Validator

ответ

10

NHibernate Validator не требует использования NHibernate для сохранения. Использование может быть столь же просто, как:

var engine = new ValidatorEngine(); 
InvalidValue[] errors = engine.Validate(someModelObjectWithAttributes); 

foreach(var error in errors) 
{ 
    Console.WriteLine(error.Message); 
} 

Конечно, можно подключить в NHibernate и предотвратить сохранение поврежденных объектов, но вы можете использовать его для проверки непостоянных объектов.

-1

Как насчет D) Ничего из вышеперечисленного. Я помню, как оценил этот прошлый год и решил продолжить работу с системой проверки Spring.NET.

Если вы используете NHibernate, вероятно, хотите использовать возможности Spring.NET для использования NHibernate.

0

По большей части я бы сказал, что Spring.NET довольно независим. Это не должно заставлять вас перепроектировать. Вы можете использовать столько или меньше, сколько хотите. Должно быть довольно легко написать объект, который можно вводить в классы, требующие проверки, используя весну. Затем вы должны подключить этот объект к замку, чтобы взять имя «Валидационной группы» или «Валидаторы», в котором вы нуждались, а затем весной вставить валидаторы в этот объект, где ваш бизнес-объект/служба формы будет использовать валидаторы.

Вот ссылка на документ, Валидация раздел 12:

http://www.springframework.net/docs/1.2.0-M1/reference/html/index.html

Вы просто с помощью замка или вы используете Монорельсовую дорогу?

0

Конечно, вы можете попробовать написать свою собственную систему проверки подлинности. Напр. Карл Сеген поможет:

http://codebetter.com/blogs/karlseguin/archive/2009/04/26/validation-part-1-getting-started.aspx

http://codebetter.com/blogs/karlseguin/archive/2009/04/27/validation-part-2-client-side.aspx

http://codebetter.com/blogs/karlseguin/archive/2009/04/28/validation-part-3-server-side.aspx

Это действительно хорошее решение :)