如何通过 FluentValidation 验证上传的文件

2024-05-11

如何使用 FluentValidation 验证上传的文件?

      <input type="file" asp-for="Files" multiple />


your ViewModel一定有public IList<IFormFile> Files { get; set; } :

    public class CustomViewModel
    {
        public IList<IFormFile> Files { get; set; }
        ...
    }

你必须创建一个验证器IFormFile输入如下:

    public class FileValidator : AbstractValidator<IFormFile>
    {
        public FileValidator()
        {
            RuleFor(x => x.Length).NotNull().LessThanOrEqualTo(100)
                .WithMessage("File size is larger than allowed");

            RuleFor(x => x.ContentType).NotNull().Must(x => x.Equals("image/jpeg") || x.Equals("image/jpg") || x.Equals("image/png"))
                .WithMessage("File type is larger than allowed");

               ...
        }
    }

现在你可以使用FileValidator在你的CustomValidator像这样:

    public class CustomValidator : AbstractValidator<CustomViewModel>
    {
        public CustomValidator()
        {
            RuleForEach(x => x.Files).SetValidator(new FileValidator());
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 FluentValidation 验证上传的文件 的相关文章

  • 如何使用 JS/Puppeteer 上传文件

    我试图弄清楚如何将图片文件上传到输入对话框中 不可能只输入名称并按 Enter 键 因为我没有找到使用 Puppeteer 实现自动化的方法 我想我必须设置一些值作为图片 但我不知道该怎么做 有任何想法吗 您使用上传文件elementHan
  • 通过 MVC 将数据写入数据库的最佳方法是什么?

    我正在使用 MVC 和 EF Core 开发一个家庭作业项目 我正在寻找将数据写入数据库的最佳方法 我是初学者 有两张桌子 Predbilje ba 报名 和Seminari 研讨会 public class Predbilje ba Ke
  • ASP.NET Core 7.0 登录时出错:证书链由不受信任的机构颁发

    我使用 SQL Server 创建了一个简单的 NET 7 0 应用程序 如果我使用默认的 localdb 甚至在将其更改为 网络服务器 之后 我会收到以下错误 证书链是由不受信任的机构颁发的 我的连接字符串是 mysqlserver co
  • Bean 属性不可读或具有无效的 getter 方法

    因此 我的任务是为注册表路由编写一个简单的 Web 应用程序 使用 Spring MVC 所以我有 路线 类 我想在其中保留起点 终点和中间点列表 但我不明白如何将值从 jsp 放入列表 例如使用 jstl 所以我决定解析一个字符串 pub
  • 无法上传大于 8MB 的文件

    我正在尝试制作一个文件上传脚本 并且我已经为这个问题苦苦挣扎了一段时间 我已阅读并尝试了与此相关的所有答案 但无济于事 这是我在 php 中尝试过的 文件名 file uploads On upload max filesize 100M
  • appsettings.json 是否受 IIS 保护?

    在旧版 ASP NET 应用程序中 config files cannot通过导航到 URL 即可下载 但新的约定是使用appsettings json 现在 如果我有一个名为的 ASP NET Core 网站contoso com它由 I
  • 依赖注入的 UserManager 正在处理异步调用(ASP.NET CORE)

    我正在使用 ASP NET Core 及其内置依赖项注入和 asp net 身份 我遇到的问题是每当我尝试通过异步访问任何上下文时 即在本例中UserManager
  • 使用 node.js 上的 knox 将八位字节流从请求流式传输到 S3

    我正在尝试使用以下命令将八位字节流直接流式传输到 S3knox https github com LearnBoost knox 在 Node js 上 octet stream 是从浏览器上传的 XHR 文件 我以为我可以将请求流式传输到
  • .net core 1.1 中嵌入的 power bi

    目前 我正在尝试在 Visual Studio 2017 中为我的 net core 1 1 项目导入 powerbi 包 但是 我收到以下错误 Install Package Package Microsoft PowerBI Core
  • 如何在 Visual Studio 2017 中打开 dotnet-core CLI 项目

    我一直在使用 dotnet Core 用于 API 和 Angular2 开发一个简单的应用程序 以便学习两者 我在命令行上使用 Yeoman 创建了项目并且一直在 Visual Studio Code 在 Windows 上 中愉快地进行
  • .Net Core 3.0 JsonSerializer填充现有对象

    我正在准备从 ASP NET Core 2 2 迁移到 3 0 由于我不使用更高级的 JSON 功能 但可能如下所述 并且 3 0 现在附带了一个内置的 JSON 命名空间 类 System Text Json 我决定看看是否可以放弃之前的
  • FastAPI UploadFile 与 Flask 相比慢

    我创建了一个端点 如下所示 app post report upload def create upload files files UploadFile File try with open files filename wb as wf
  • 如何使用 Kestrel 托管 Angular 应用程序

    我正在尝试部署一个Angular 7申请与 NET Core using Kestrel使用FileProvider扩大 我已经创建了角度应用程序 我有ng build它和我复制了里面的文件dist NET项目 Startup public
  • 使用 FormData 上传 JavaScript Blob

    我在将 javascript 创建的 blob 上传到我的服务器时遇到问题 基本思想是用户上传图像 在 javascript 中我对图像进行居中裁剪并在传输之前对其进行下采样 图像处理工作正常 但上传本身无法正常工作 这是执行从 canva
  • 有没有办法在.NET Core FilterAttribute 中获取请求正文?

    我的请求示例 http localhost 8065 api note POST content type application json request body id 1234 title test status draft 响应应该
  • ASP.NET Core 2.0禁用自动质询

    将我的 ASP NET Core 项目升级到 2 0 后 尝试访问受保护端点不再返回 401 而是重定向到 不存在的 端点以尝试让用户进行身份验证 应用程序所需的行为只是返回 401 以前我会设置AutomaticChallenge fal
  • 移动 Safari 中的文件上传和 EXIF

    正如这些问题中所指出的 在某些情况下 iOS 上上传的照片的地理位置和其他 EXIF 元数据会被删除 在 safari 中 https apple stackexchange com questions 326789 gps exif fr
  • Directory.GetCurrentDirectory() 不返回正确的目录[重复]

    这个问题在这里已经有答案了 在我的 ASP NET Core 2 2 MVC 服务器中 我想添加一个文件夹来存储静态文件 我找到了以下代码来执行该操作 app UseStaticFiles new StaticFileOptions Fil
  • Flask send_from_directory

    我有一个 Flask Web 应用程序 允许用户上传文件 然后下载或在浏览器中显示它们 我应该使用send from directory在生产时从我的服务器上的上传文件夹提供这些文件 你最好让 nginx 为你的静态文件提供服务 众所周知
  • App Insights 升级到 2.5 后,Azure 应用服务将无法启动

    我有一个存储库 它使用应用程序洞察来记录有关在 ASP NET 中运行的服务的信息 我们有一些 ASP NET Core 2 0 站点以及一些完整框架的 asp net 4 应用程序 随着应用程序洞察 2 5 的发布 我们在核心站点中获得了

随机推荐