如何通过 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 验证上传的文件 的相关文章

随机推荐