ASP.NET Core WebApi中使用FluentValidation验证数据模型

 原文链接:

验证用户输入是一个Web应用中的基本功能。对于生产系统,开发人员通常需要花费大量时间,编写大量的代码来完成这一功能。如果我们使用FluentValidation构建ASP.NET Core Web API,输入验证的任务将比以前容易的多。

FluentValidation是一个非常流行的构建强类型验证规则的.NET库。

配置项目

第一步:下载FluentValidation

我们可以使用Nuget下载最新的FluentValidation

PM> Install-Package FluentValidation.AspNetCore

第二步:添加FluentValidation服务

我们需要在Startup.cs文件中添加FluentValidation服务

public void ConfigureServices(IServiceCollection services)  {     // mvc + validating    services.AddMvc()    .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)    .AddFluentValidation(); }

添加校验器

FluentValidation提供了多种内置的校验器。在下面的例子中,我们可以看到其中的2种

第一步: 添加一个需要验证的数据模型

下面我们添加一个User类。

public class User {    public string Gender { get; set; }    public string FirstName { get; set; }    public string LastName { get; set; }    public string SIN { get; set; } }

第二步: 添加校验器类

使用FluentValidation创建校验器类,校验器类都需要继承自一个抽象类AbstractValidator

public class UserValidator : AbstractValidator<User> {    public UserValidator()    {       // 在这里添加规则    } }

第三步: 添加验证规则

在这个例子中,我们需要验证FirstName, LastName, SIN不能为null, 不能为空。我们也需要验证工卡SIN(Social Insurance Number)编号是合法的

public static class Utilities {    public static bool IsValidSIN(int sin)    {       if (sin < 0 || sin > 999999998) return false;        int checksum = 0;       

                    
                
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信