企业库验证块的Asp.Net MVC 2客户端验证实现

时间:2010-04-19 11:29:18

标签: asp.net-mvc-2 enterprise-library validation

我找到了一个very good article,关于如何在MVC 2中使用EntLib Validation Block进行服务器验证。 但是正如那里指出的那样

  

EntLib验证应用程序块的当前设计使用Composite模式;也就是说,当我们要求验证对象时,它返回一个验证器对象,其中包含要完成的所有验证工作的列表。虽然这在正常使用场景下非常方便,但不幸的副作用是我们无法“查看内部”以查看它正在进行的各个验证,因此无法生成相应的客户端验证提示

那么如何为EntLib实现客户端验证呢?有工作吗?

2 个答案:

答案 0 :(得分:2)

所以我找不到任何关于此的内容,所以我决定自己实现它在codeplex上发布它http://elvalweb.codeplex.com/

答案 1 :(得分:0)

Alexey,:-) 我有自己的验证任务实现,与EntLib无关,但概念非常相似。对于开发人员来说,它看起来如下:

   ValidationFactory.AddRule<IPerson>(
     x => string.IsNullOrEmpty(x.FirstName) &&
          string.IsNullOrEmpty(x.LastName),
     "Person should have a name", "validation set 1");
   IPerson p = UnityHelper.DefaultContainer.Resolve<IPerson>();
   ValidationResults res = ValidationFactory.Validate<IPerson>(p,"validation set 1");
   if(!res.IsValid)
   {
     foreach (ValidationResult vr in res)
     {
       var msg= vr.Message;
       var validated_instance = vr.Target;
       var Validator_instance = vr.Validator;
     }
   }   

如果您对它感兴趣,请告诉我,我会将其从当前项目中删除为单独的解决方案。

相关问题