2010-11-01 58 views
0

是否有任何方式将自定义评估器传递给完整模型以验证特定类型的所有属性或属性?MVC 2通用验证。通过类型验证模型或属性的所有属性

在这种情况下,我只能看到一个解决方案:验证模型上的后操作。但是可能有些人有更好的通用想法?

是否可以通过属性验证来实现?

如果使用MVC 2.0中的验证属性无法实现,那么它可以在3.0中实现吗?

例如我想检查任何模型的所有字符串属性,如果有第一个符号空白。

+0

“上发布操作验证模式”是通常的情形。这对你来说错了吗? – bzlm 2010-11-01 08:01:34

+1

需要更多的细节,请张贴一些示例代码?这是令人难以置信的模糊。 – jfar 2010-11-01 12:06:28

+0

使用属性验证,我们可能会传递模型中的任何属性来验证,但我正在寻找方法来创建这样的通用属性评估器,它接受任何模型来验证,但看起来像不可能 – Greon 2010-11-04 05:37:31

回答

0

我会考虑使用Fluent Validation,不仅因为它解决了你的用例(在控制器上下文之外的验证),还因为它在许多其他方面很棒。

从他们的主页,你可以不喜欢在你的应用这在任何地方:

Customer customer = new Customer(); 
CustomerValidator validator = new CustomerValidator(); 
ValidationResult results = validator.Validate(customer); 

bool validationSucceeded = results.IsValid; 
IList<ValidationFailure> failures = results.Errors;