在 ASP.NET Core 中使用 FluentValidation 进行验证
从 NuGet 安装 FluentValidation
使用 FluentValidation 时,核心的包时 FluentValidation 和 FluentValidation.AspNetCore。
使用 NuGet 包管理控制台运行以下命令进行安装:
Install-Package FluentValidation
Install-Package FluentValidation.AspNetCore
争对 Resource类 建立 FluentValidation
首先以下是 Resource类:
public class PostResource
{
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public string Author { get; set; }
public DateTime UpdateTime { get; set; }
public string Remark { get; set; }
}
以下是对 PostResource 建立验证示例:
// 需要继承于 AbstractValidator<T> ,T 表示要验证的类
public class PostResourceValidator : AbstractValidator<PostResource>
{
public PostResourceValidator() {
// 配置 Author
RuleFor(x => x.Author)
.NotNull() //不能为空
.WithName("作者")
//.WithMessage("required|{PropertyName}是必填的")
.WithMessage("{PropertyName}是必填的")
.MaximumLength(50)
//.WithMessage("maxlength|{PropertyName}的最大长度是{MaxLength}")
.WithMessage("{PropertyName}的最大长度是{MaxLength}");
// 配置 Body
RuleFor(x => x.Body)
.NotNull()
.WithName("正文")
.WithMessage("required|{{PropertyName}是必填的")
.MinimumLength(100)
.WithMessage("minlength|{PropertyName}的最小长度是{MinLength}");
}
}
在Startup中对写好的验证进行注册
在Startup类的ConfigureServices方法中进行注册
//services.AddTransient<IValidator<ResourceModel>, 验证器>();
services.AddTransient<IValidator<PostResource>, PostResourceValidator>();
- 参考文档:
在 ASP.NET Core 中使用 FluentValidation 进行验证的更多相关文章
- 【翻译】asp.net core中使用FluentValidation来进行模型验证
asp.net core中使用FluentValidation FluentValidation 可以集成到asp.net core中.一旦启用,MVC会在通过模型绑定将参数传入控制器的方法上时使用F ...
- asp.net core中使用cookie身份验证
配置 在 Startup.ConfigureServices 方法中,创建具有 AddAuthentication 和 AddCookie 方法的身份验证中间件服务: services.AddAuth ...
- ASP.NET Core 中的实时框架 SingalR
目录 SignalR 是什么? 在 ASP.NET Core 中使用 SignalR 权限验证 横向扩展 源代码 参考 SignalR 是什么? ASP.NET Core SignalR 是一个开源的 ...
- ASP.NET Core 中的那些认证中间件及一些重要知识点
前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...
- Asp.net Core中使用Session
前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...
- 在ASP.NET Core中使用百度在线编辑器UEditor
在ASP.NET Core中使用百度在线编辑器UEditor 0x00 起因 最近需要一个在线编辑器,之前听人说过百度的UEditor不错,去官网下了一个.不过服务端只有ASP.NET版的,如果是为了 ...
- ASP.NET Core中的依赖注入(1):控制反转(IoC)
ASP.NET Core在启动以及后续针对每个请求的处理过程中的各个环节都需要相应的组件提供相应的服务,为了方便对这些组件进行定制,ASP.NET通过定义接口的方式对它们进行了"标准化&qu ...
- ASP.NET Core中的依赖注入(2):依赖注入(DI)
IoC主要体现了这样一种设计思想:通过将一组通用流程的控制从应用转移到框架之中以实现对流程的复用,同时采用"好莱坞原则"是应用程序以被动的方式实现对流程的定制.我们可以采用若干设计 ...
- ASP.NET Core中的依赖注入(3): 服务的注册与提供
在采用了依赖注入的应用中,我们总是直接利用DI容器直接获取所需的服务实例,换句话说,DI容器起到了一个服务提供者的角色,它能够根据我们提供的服务描述信息提供一个可用的服务对象.ASP.NET Core ...
随机推荐
- vue中动态加载img
想实现动态加载图片,当点击“首页”时,图片变色 代码如下: <mt-tabbar v-model="selected" fixed class="border-1p ...
- PHP编程20大效率要点
1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row[’id’] 的速度是$row[id]的7倍. 3.echo 比 print 快,并且使用ech ...
- Android开源项目和轮子
推荐查看Github最全面的Android开源项目汇总 功能框架 数据库 ORMLite框架 greenDaoMaster框架 Xutils的DButils ORMLitehe和greenDaoMas ...
- beta 2/2 阶段中间产物提交
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9961 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...
- 网络爬虫一定要用代理IP吗
数据采集现在已经成为大数据时代不可以缺少的一部分,在数据采集过程中,很多人都会用到代理ip,那么网络爬虫一定要用代理IP吗?答案虽然不是肯定的,但出现以下情况一定是需要用到代理IP的.1.在爬虫的时候 ...
- 2019-10-30:渗透测试,基础学习,mssql堆叠内联注入,mongodb基础语法
使用xp_cmdshell需要堆叠注入,http://192.168.190.148/less-1.asp?id=1';EXEC sp_configure 'show advanced options ...
- PIC18F45K80串口1和串口2异步收发通信实例
PIC18F45K80串口1和串口2异步收发通信实例 一:配置串口1初始化函数 首先打开技术手册,查看异步串口的操作流程以及配置. 需要将串口对应引脚的方向寄存器设置为输入
- BIOS和CMOS概念整理
一:什么是BIOS BIOS(Basic Input Output System),基本输入输出系统.是被写死在主板ROM只读芯片中的一组程序,在开机的时候首先要去读取的一个小程序. 它是我们可以将 ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- zabbix自动发现 url 以及对http返回状态码监控实现 告警
2019-06-04 18:39:12 目的:批量监控业务URL的返回状态码,通过zabbix监控判断业务好坏. 1.zabbix安装 请查看此永久链接:https://www.cnblogs.com ...