我找到了一个very good article,关于如何在MVC 2中使用EntLib Validation Block进行服务器验证。 但是正如那里指出的那样
EntLib验证应用程序块的当前设计使用Composite模式;也就是说,当我们要求验证对象时,它返回一个验证器对象,其中包含要完成的所有验证工作的列表。虽然这在正常使用场景下非常方便,但不幸的副作用是我们无法“查看内部”以查看它正在进行的各个验证,因此无法生成相应的客户端验证提示
那么如何为EntLib实现客户端验证呢?有工作吗?
答案 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;
}
}
如果您对它感兴趣,请告诉我,我会将其从当前项目中删除为单独的解决方案。