【问题标题】:MVC 2 Generic validation. Validate all properties of the model or properties by typeMVC 2 通用验证。按类型验证模型的所有属性或属性
【发布时间】:2010-11-01 03:22:28
【问题描述】:

有没有办法将完整的模型传递给自定义评估器以验证所有属性或特定类型的属性?

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

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

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

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

【问题讨论】:

  • “在操作后验证模型”是通常的场景。你有错吗?
  • 需要更多详细信息,请发布一些示例代码?这是令人难以置信的模糊。
  • 使用属性验证我们可以传递模型中的任何属性来验证,但我正在寻找一种方法来创建这样的通用属性评估器,它接受任何模型来验证但看起来不可能
  • 我可以在帖子上进行这种验证,但如果有这样的验证属性会很棒。

标签: asp.net-mvc asp.net-mvc-2


【解决方案1】:

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

在他们的主页上,您可以在应用中的任何位置执行以下操作:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多