数据注释属性验证与 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")]
所以它在数据验证方面为您做了三项工作。
- 在数据库架构中,此 属性 或字段是必需的
- 在客户端,您不能post没有经过验证的数据的请求。
- 在服务器端,您可以检查数据是否经过验证。
因此数据注释为您提供了一种处理所有数据端点的集中方式。
例如,您正在设计一个将由多个客户端使用的网站 API。因此,用户可能 post 任何形式的数据,因此必须有一种方法来处理数据验证,因此数据注释可以提供帮助。
在视图模型中,我们提到了“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")]
所以它在数据验证方面为您做了三项工作。
- 在数据库架构中,此 属性 或字段是必需的
- 在客户端,您不能post没有经过验证的数据的请求。
- 在服务器端,您可以检查数据是否经过验证。
因此数据注释为您提供了一种处理所有数据端点的集中方式。
例如,您正在设计一个将由多个客户端使用的网站 API。因此,用户可能 post 任何形式的数据,因此必须有一种方法来处理数据验证,因此数据注释可以提供帮助。