【问题标题】:Model validation in ASP.NET MVC using Attributes or using IValidatableObject(sel-validating model)在 ASP.NET MVC 中使用属性或使用 IValidatableObject(自验证模型)进行模型验证
【发布时间】:2014-01-28 00:17:31
【问题描述】:

我正在学习 ASP.NET MVC,作为数据注释的一部分,提到了 2 种用于执行模型绑定的方法。

**

  1. 基于属性的绑定和验证。
  2. 基于 IValidatableObject 接口的自我验证模型。

**

使用其中任何一个有什么优势吗?

什么时候采用第一种方法,什么时候采用第二种方法?

【问题讨论】:

  • 只有在验证规则非常复杂的情况下,我才会选择IValidatableObject。还有额外的验证属性类可以丰富“开箱即用”验证属性的“验证语言”。对于大多数应用程序,这些属性提供了足够的智能,并且不需要额外的开发时间。
  • 同意@AndreiV。对于您的基本验证,例如必填字段和正则表达式,第一种方法既快速又简单。随着您变得越来越复杂,或者如果您想将验证规则与模型分开,第二种方法,甚至是一个单独的验证类都是可行的方法。

标签: c# asp.net-mvc


【解决方案1】:

在大多数情况下使用内置属性。它们对于您的基本模型验证相对可靠,并且快速且易于实施。如果您必须实现一些更复杂的自定义验证,我只会使用 IValidatableObject。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多