一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .Net Web Api中利用FluentValidate進行參數驗證的方法

.Net Web Api中利用FluentValidate進行參數驗證的方法

2020-05-29 15:12CodeMiner ASP.NET教程

最近在做Web API,用到了流式驗證,就簡單的說說這個流式驗證,下面這篇文章主要給大家介紹了關于.Net Web Api中利用FluentValidate進行參數驗證的相關資料,,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧

前言

本文主要介紹了關于.Net Web Api用FluentValidate參數驗證的相關內容,下面話不多說了,來一起看看詳細的介紹吧。

方法如下

安裝FluentValidate

在ASP.NET Web Api中請安裝 FluentValidation.WebApi版本

創建一個需要驗證的Model

?
1
2
3
4
5
6
public class Product
{
 public string name { get; set; }
 public string des { get; set; }
 public string place { get; set; }
}

配置FluentValidation,需要繼承AbstractValidator類,并添加對應的驗證規則

?
1
2
3
4
5
6
7
public class ProductValidator : AbstractValidator<Product>
{
 public ProductValidator()
 {
  RuleFor(product => product.name).NotNull().NotEmpty();//name 字段不能為null,也不能為空字符串
 }
}

在Config中配置 FluentValidation

在 WebApiConfig配置文件中添加

?
1
2
3
4
5
6
7
8
9
public static class WebApiConfig
{
 public static void Register(HttpConfiguration config)
 {
  // Web API routes
  ...
  FluentValidationModelValidatorProvider.Configure(config);
 }
}

驗證參數

需要在進入Controller之前進行驗證,如果有錯誤就返回,不再進入Controller,需要使用 ActionFilterAttribute

?
1
2
3
4
5
6
7
8
9
10
public class ValidateModelStateFilter : ActionFilterAttribute
{
 public override void OnActionExecuting(HttpActionContext actionContext)
 {
  if (!actionContext.ModelState.IsValid)
  {
   actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
  }
 }
}

如果要讓這個過濾器對所有的Controller都起作用,請在WebApiConfig中注冊

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public static class WebApiConfig
{
 public static void Register(HttpConfiguration config)
 {
  // Web API configuration and services
  config.Filters.Add(new ValidateModelStateFilter());
 
  // Web API routes
  ...
 
FluentValidationModelValidatorProvider.Configure(config);
 }
}

如果指對某一個Controller起作用,可以在Controller注冊

?
1
2
3
4
5
[ValidateModelStateFilter]
public class ProductController : ApiController
{
 //具體的邏輯
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.jianshu.com/p/cc466c226d79

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人全身裸露无遮挡免费观看 | 久久婷婷五月综合色丁香花 | 免费高清资源黄网站在线观看 | 国产二区三区 | 青草视频在线观看免费视频 | 亚洲社区在线观看 | 色花堂中文字幕98堂网址 | 国产灌醉| 欧美生活一级片 | 欧美在线一 | 国产一及毛片 | 国产美女屁股直流白浆视频无遮挡 | 男生和老师一起差差差 | 国产青草亚洲香蕉精品久久 | 国产成人亚洲精品91专区高清 | 午夜爱爱爱爱爽爽爽视频网站 | 国产美女下面流出白浆视频 | 日本乱人伦中文在线播放 | 日日草视频 | 日产国产精品亚洲系列 | 暖暖免费高清完整版观看日本 | 亚洲精品成人 | 污污美女 | 国产九九视频在线观看 | 99在线精品免费视频九九视 | 国产日韩精品一区二区 | 日韩av线观看 | 午夜国产在线视频 | 500福利第一巨人导航 | 91短视频在线观看2019 | 五月色婷婷网在线观看 | 午夜国产福利视频一区 | 国产在线观看色 | 久久三级视频 | 国产亚洲高清国产拍精品 | 日韩精品一区二三区中文 | 韩国三级在线观看 完整版 韩国三级视频网站 | 福利片成人午夜在线 | caoporm国产精品视频免费 | 亚洲图片二区 | 日韩资源在线 |