iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NETCore模型验证过滤器的两种实现方法
  • 765
分享到

ASP.NETCore模型验证过滤器的两种实现方法

2024-04-02 19:04:59 765人浏览 泡泡鱼
摘要

目录第一种方法:.net core 禁用模型验证过滤器第二种方法:自动替换默认模型验证 在.Net Core的时代中,框架会帮你自动验证model的state,也就是Mod

 在.Net Core的时代中,框架会帮你自动验证model的state,也就是ModelState。框架会为你自动注册ModelStateInvalidFilter,这个会运行在OnActionExecuting事件里面。

基于现有框架的代码编写的话,所以我们不再需要在业务中耦合这样的模型判断代码,系统内部会检查ModelState是否为Valid,如果为InValid会直接返回400 BadRequest,这样就没有必要执行后面的代码,提高效率。因此,操作方法中不再需要以下代码:

if (!ModelState.IsValid)
{
    return BadRequest(ModelState);
}

第一种方法:.net Core 禁用模型验证过滤器

services.Configure<apiBehaviorOptions>(options => options.SuppreSSModelStateInvalidFilter = true);

SuppressModelStateInvalidFilter =true时,会关闭默认模型验证过滤器。[ApiController] 默认自带有400模型验证,且优先级比较高,如果需要自定义模型验证,则需要先关闭默认的模型验证。

第二种方法:自动替换默认模型验证

//参数验证
services.Configure<ApiBehaviorOptions>(options =>
{
    options.InvalidModelStateResponseFactory = (context) =>
    {
        var error = context.ModelState.GetValidationSummary();
        
        return new JSONResult(Result.FromError($"参数验证不通过:{error.ToString()}", ResultCode.InvalidParams));
    };
});

到此这篇关于 ASP.net core 模型验证过滤器的两种实现方法的文章就介绍到这了,更多相关 asp.net Core 模型验证过滤器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: ASP.NETCore模型验证过滤器的两种实现方法

本文链接: https://www.lsjlt.com/news/148587.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NETCore模型验证过滤器的两种实现方法
    目录第一种方法:.Net Core 禁用模型验证过滤器第二种方法:自动替换默认模型验证 在.Net Core的时代中,框架会帮你自动验证model的state,也就是Mod...
    99+
    2024-04-02
  • springboot验证码的生成与验证的两种方法
    目录前言效果一览(单击图片刷新验证码)一、使用整合kaptcha方式实现验证码生成与验证二、使用hutool-captcha方式实现验证码生成与验证前言 在springboot的登陆...
    99+
    2024-04-02
  • ASP.NETCore模仿中间件方式实现列表过滤功能
    我们的很多功能当中都会遇到对版本进行过滤的场合,例如你可能需要对列表中的数据的时间进行过滤、版本过滤、渠道以及地区信息进行过滤。 原本的做法:设计很多个过滤方法,通过枚举的方式组合,...
    99+
    2024-04-02
  • VUE中filters过滤器的两种用法实例
    目录前言一、全局过滤器全局过滤器之单一挂载全局过滤器之批量挂载二、组件过滤器附:过滤器中传入多个参数总结前言 Vue.js 允许我们自定义过滤器,可被用于一些常见的文本格式化。过滤器...
    99+
    2024-04-02
  • MySQL过滤重复数据的两种方法示例
    目录方法1:加关键字 DISTINCT方法2:用GROUP By 分组最后方法1:加关键字 DISTINCT 在mysql中,可以利用“SELECT”...
    99+
    2023-05-16
    mysql查询过滤重复数据 mysql如何去除重复数据 数据库过滤重复语句
  • Spring Security基于过滤器实现图形验证码功能
    目录前言一. 验证码简介二. 基于过滤器实现图形验证码1. 实现概述2. 创建新模块3. 添加依赖包4. 创建Producer对象5. 创建生成验证码的接口6. 自定义异常7. 创建...
    99+
    2024-04-02
  • Flutter验证码输入框的2种方法实现
    目录重点是什么?从头开始制作 OTP 字段使用第三个包结论本文向您展示了在 Flutter 中实现完美的验证码输入框几种不同方法。 重点是什么? 真实世界的 完美的验证码输入框或 P...
    99+
    2024-04-02
  • Python实现"验证回文串"的几种方法
    一、LeetCode——125.验证回文串 1.问题描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的...
    99+
    2024-04-02
  • .NetCore使用过滤器实现登录权限认证的方法小结
    目录一、自定义行为过滤器在OnActionExecuting中实现二、自定义身份验证过滤器三、新建BaseController在OnActionExecuting中实现本文实例环境及...
    99+
    2024-04-02
  • SpringBoot实现过滤器和拦截器的方法
    目录过滤器编写过滤器注册过滤器基于 FilterRegistrationBean基于 @WebFilter拦截器过滤器 实现过滤器需要实现 javax....
    99+
    2022-11-13
    SpringBoot 过滤器和拦截器 SpringBoot 过滤器和拦截器区别 SpringBoot 过滤器
  • Django通过自定义认证后端实现多种登录方式验证
    目录前言实现自定义认证后端前言 我们见到几乎所有的 Web 网站或者手机 App 也好,它们的最终目的都是要留住用户,提升自己网站的用户注册量,所以说用户的概念也必须深入到每一个程序...
    99+
    2024-04-02
  • 使用Django实现商城验证码模块的方法
    本文主要涉及图形验证码的相关功能,主要包括,图形验证码获取、验证码文字存储、验证码生成等。 图形验证码接口设计和定义  验证码获取接口设计 uuid作为路径参数,唯一标识...
    99+
    2024-04-02
  • 实现Perl模块安装的两种方法是什么
    这篇文章给大家介绍实现Perl模块安装的两种方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Perl模块安装方法首先安装Perl5.8.8:cdPerl-5.8.8&&rm-fconfig.sh...
    99+
    2023-06-17
  • C++实现验证括号的方法
    本篇内容介绍了“C++实现验证括号的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Valid Parentheses 验证括号Given...
    99+
    2023-06-20
  • C++实现验证数独的方法
    本篇内容主要讲解“C++实现验证数独的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++实现验证数独的方法”吧!Valid Sudoku 验证数独Determine if a 9...
    99+
    2023-06-20
  • Django 模板中常用的过滤器实现
    模版常用过滤器 在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。 ...
    99+
    2024-04-02
  • PythonPCA降维的两种实现方法
    目录前言PCA降维的一般步骤为:实现PCA降维,一般有两种方法:总结前言         PCA降维,...
    99+
    2024-04-02
  • 通过Python实现电脑定时关机的两种方法
    目录导语一、普通人关机二、程序员关机1)Pyqt5界面化小程序​2)Tkinter界面化小程序导语 无论家用电脑还是公司的电脑,定时开关机都是一个非常实用的功能,只是一般都不太受关注...
    99+
    2024-04-02
  • Python实现"加一"的两种方法
    给定一个非空的数值数组代表一个非负整数,对整数进行加一操作 整数最高位存放在数组头位,数组中每一个元素都代表一个数字 你可以认为整数不以0开头,除了数字0以外 Example 1: Input: [1,2,3] Output: [1,...
    99+
    2023-01-31
    两种 方法 Python
  • Pytorch中求模型准确率的两种方法小结
    方法一:直接在epoch过程中求取准确率 简介:此段代码是LeNet5中截取的。 def train_model(model,train_loader): optimiz...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作