• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > .Net Web Api中利用FluentValidate进行参数验证的方法

.Net Web Api中利用FluentValidate进行参数验证的方法

作者:CodeMiner 字体:[增加 减小] 来源:互联网 时间:2018-08-20

CodeMiner 通过本文主要向大家介绍了fluentvalidate,asp.net,web,api,参数,.net,webapi,参数检查等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

本文主要介绍了关于.Net Web Api用FluentValidate参数验证的相关内容,下面话不多说了,来一起看看详细的介绍吧。

方法如下

安装FluentValidate

在ASP.NET Web Api中请安装 FluentValidation.WebApi版本

创建一个需要验证的Model

 public class Product 
 {
  public string name { get; set; }
  public string des { get; set; }
  public string place { get; set; }
 }

配置FluentValidation,需要继承AbstractValidator类,并添加对应的验证规则

 public class ProductValidator : AbstractValidator<Product>
 {
  public ProductValidator()
  {
   RuleFor(product => product.name).NotNull().NotEmpty();//name 字段不能为null,也不能为空字符串
  }
 }

在Config中配置 FluentValidation

在 WebApiConfig配置文件中添加

public static class WebApiConfig
{
 public static void Register(HttpConfiguration config)
 {
  // Web API routes
  ...
  FluentValidationModelValidatorProvider.Configure(config);
 }
}

验证参数

需要在进入Controller之前进行验证,如果有错误就返回,不再进入Controller,需要使用 ActionFilterAttribute

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中注册

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注册

[ValidateModelStateFilter]
public class ProductController : ApiController
{
 //具体的逻辑
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • .Net Web Api中利用FluentValidate进行参数验证的方法

相关文章

  • 2017-05-11MVC HtmlHelper扩展类(PagingHelper)实现分页功能
  • 2017-05-11asp.net音频转换之.amr转.mp3(利用ffmpeg转换法)
  • 2017-05-11asp.net(c#)获取内容第一张图片地址的函数
  • 2017-05-11asp.net开发中怎样去突破文件依赖缓存
  • 2017-05-11有关.NET参数传递的方式引发的思考
  • 2017-05-11使用C#处理WebBrowser控件在不同域名中的跨域问题
  • 2017-05-11巧用ASP.NET Cookie
  • 2017-05-11C#保存上传来的图片示例代码
  • 2017-05-11asp.net中让Repeater和GridView支持DataPager分页
  • 2017-05-11.net实现微信公众账号接口开发实例代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 一步步打造漂亮的新闻列表(无刷新分页、内容预览)第一步
    • ASP.NET笔记之 Request 、Response 与Server的使用
    • gridview调整单元格宽度的方法
    • Repeater绑定dictionary数据源代码及报错解决
    • ASP.NET MVC如何使用Unity实现Ioc详解
    • ASP.NET用户注册实战(第11节)
    • aspx中页面按钮写返回上一页代码
    • 在ASP.NET 2.0中操作数据之三十五:使用Repeater和DataList单页面实现主/从报表
    • Server Application Unavailable出现的原因及解决方案小结
    • 微信公众平台开发之认证"成为开发者".Net代码解析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有