ASP.NET MVC 验证和模型属性中,首先会发生什么

本文关键字:什么 MVC NET 验证 属性 模型 ASP | 更新日期: 2023-09-27 18:32:17

我有一个模型,其中大多数都有属性和验证器(注释)来验证这个或那个。

验证程序是使用模型属性还是使用 POST 发送的原始值? 换句话说,是先设置属性,然后进行验证,还是先进行验证,然后设置属性(如果验证未返回错误)?

ASP.NET MVC 验证和模型属性中,首先会发生什么

  1. Web API 将接收原始数据
  2. 原始数据将转换为对象实例(因此首先设置属性)
  3. 根据验证属性验证对象

您可以检查您的模型在控制器中是否有效,如下所示:

public class ProductsController : ApiController
    {
        public HttpResponseMessage Post(Product product)
        {
            if (ModelState.IsValid)
            {
                // Do something with the product (not shown).
                return new HttpResponseMessage(HttpStatusCode.OK);
            }
            else
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }
        }
    }

详细信息:ASP.NET 中的模型验证