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

Asp.net mvc 数据注释属性验证与MVC中的客户端验证有何不同?,asp.net-mvc,model-view-controller,entity-framework-6,Asp.net Mvc,Model View Controller,Entity Framework 6,在视图模型中,我们提到了“System.ComponentModel.DataAnnotations”以及字段名。。我们提到了验证,例如 [Required(ErrorMessage="Please enter name")] 这是从@Html.ValidationMessageFor 我的澄清是,当我们可以通过客户端验证实现同样的功能时,对DataAnnotations的需求是什么(或者)DataAnnotations在服务器端代码上有什么不同或增加更多的价值 当我们可以通过客户端验证实现同

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

[Required(ErrorMessage="Please enter name")]
这是从
@Html.ValidationMessageFor

我的澄清是,当我们可以通过客户端验证实现同样的功能时,对DataAnnotations的需求是什么(或者)DataAnnotations在服务器端代码上有什么不同或增加更多的价值

当我们可以通过客户端验证实现同样的功能时,什么是 需要数据注释

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

例如,您正在属性上指定此数据批注

[Required(ErrorMessage="Please enter name")]
在数据验证方面,它为您做了三项工作

  • 在数据库架构中,此属性或字段是必需的
  • 在客户端,您不能在没有验证数据的情况下发布请求
  • 在服务器端,您可以检查数据是否已验证
  • 因此,数据注释为您提供了处理所有数据端点的中心方法


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

    因为用户可能会将未验证的数据发布到服务器,所以必须有一种机制来处理服务器端的数据验证,并且数据注释向razor视图提供信息,以用于客户端和服务器端的验证。谢谢@habib,理解数据注释的需要对我很有帮助。。web api的解释很有意义。。谢谢