首頁 > 後端開發 > C++ > 如何在 ASP.NET Web API 中有效實作模型驗證?

如何在 ASP.NET Web API 中有效實作模型驗證?

Mary-Kate Olsen
發布: 2025-01-03 06:54:39
原創
716 人瀏覽過

How to Effectively Implement Model Validation in ASP.NET Web API?

ASP.NET Web API 中的模型驗證

模型驗證是開發強大的 Web API 的一個重要面向。 ASP.NET Web API 提供了一個用於驗證傳入模型資料的綜合系統。

實作模型驗證

要實現模型驗證,請依照下列步驟操作:

  1. 啟用模型驗證:啟用自動Web API配置中的驗證:

    config.Filters.Add(new ValidateModelFilter());
    登入後複製
  2. 註解您的模型: 使用資料註解指定模型屬性的驗證規則。例如:

    public class Enquiry
    {
        [Key]
        public int EnquiryId { get; set; }
        [Required]
        public DateTime EnquiryDate { get; set; }
        [Required]
        public string CustomerAccountNumber { get; set; }
        [Required]
        public string ContactName { get; set; }
    }
    登入後複製
  3. 使用自訂操作過濾器: 建立自訂操作過濾器來處理模型驗證錯誤。全域或在控制器層級註冊此過濾器:

    public class ValidationActionFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            var modelState = actionContext.ModelState;
    
            if (!modelState.IsValid)
                actionContext.Response = actionContext.Request
                     .CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
        }
    }
    登入後複製

處理驗證失敗

當模型驗證失敗時:

  • HttpActionContext 的ModelState 屬性將包含驗證清單錯誤。
  • 自訂操作過濾器可以存取此屬性並建立適當的錯誤回應。

其他注意事項

  • 您可以透過 ModelState 的 Errors 屬性存取驗證錯誤。
  • 自訂返回到的錯誤訊息用戶端。
  • 確保模型驗證在整個 API 中保持一致。

以上是如何在 ASP.NET Web API 中有效實作模型驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板