美文网首页ASP .NET Core Web Api + Angular
ASP .NET Core Web API_ 07_模型验证

ASP .NET Core Web API_ 07_模型验证

作者: xtddw | 来源:发表于2018-10-21 20:46 被阅读60次

属性标签

https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models/validation?view=aspnetcore-2.1

  • [CreditCard]:验证属性是否具有信用卡格式。
  • [Compare]:验证某个模型中的两个属性是否匹配。
  • [EmailAddress]:验证属性是否具有电子邮件格式。
  • [Phone]:验证属性是否具有电话格式。
  • [Range]:验证属性值是否落在给定范围内。
  • [RegularExpression]:验证数据是否与指定的正则表达式匹配。
  • [Required]:将属性设置为必需属性。
  • [StringLength]:验证字符串属性是否最多具有给定的最大长度。
  • [Url]:验证属性是否具有 URL 格式。

FluentValidation

  1. 验证逻辑与业务逻辑分离
  2. 灵活, 功能强大
    Fluent API, Lambda表达式
  3. 安装Nuget包:
    FluentValidation
    FluentValidation.AspNetCore
  4. 为Resource配置验证器
    继承于AbstractValidator
 public class PostResourceValidator:AbstractValidator<PostResource>
    {
        public PostResourceValidator()
        {
            RuleFor(x => x.Author)
                .NotNull()
                .WithName("作者")
                .WithMessage("{PropertyName}是必填的")
                .MaximumLength(20)
                .WithMessage("{PropertyName}的最大长度是{MaxLength}");
        }
    }
  1. 注册到容器: services.AddTransient<>()
 //注册FluentValidator
  services.AddTransient<IValidator<PostResource>, PostResourceValidator>();

相关文章

网友评论

    本文标题:ASP .NET Core Web API_ 07_模型验证

    本文链接:https://www.haomeiwen.com/subject/ldrizftx.html