数据注释属性验证与 MVC 中的客户端验证有何不同?

How the data annotation attribute validation is differ from client side validation in MVC?

在视图模型中,我们提到了“System.ComponentModel.DataAnnotations”,对于字段名称..我们提到了验证,例如..

[Required(ErrorMessage="Please enter name")]

这是从 @Html.ValidationMessageFor

进一步调用的

我的澄清是,当我们可以从客户端验证实现相同时,对 DataAnnotations 的需求是什么(或)DataAnnotations 将如何不同或在服务器端代码中增加更多价值?

When we can achieve the same from client side validation, what is the need for DataAnnotations.

数据注释不限于服务器端验证,它提供了维护数据完整性的完整机制。

例如,您在 属性 上指定此数据注释。

[Required(ErrorMessage="Please enter name")]

所以它在数据验证方面为您做了三项工作。

  1. 在数据库架构中,此 属性 或字段是必需的
  2. 在客户端,您不能post没有经过验证的数据的请求。
  3. 在服务器端,您可以检查数据是否经过验证。

因此数据注释为您提供了一种处理所有数据端点的集中方式。

例如,您正在设计一个将由多个客户端使用的网站 API。因此,用户可能 post 任何形式的数据,因此必须有一种方法来处理数据验证,因此数据注释可以提供帮助。