zoukankan      html  css  js  c++  java
  • 8.选项框架:为选项数据添加验证

    一、三种验证方法

    1.直接注册验证函数
                services.AddOptions<OrderServiceOptions>().Configure(options =>
                {
                    configuration.Bind(options);
                }).Validate(options => options.MaxOrderCount > 100,"这是错误信息");
     
    2.使用 Microsoft.Extensions.Options.DataAnnotations
      a.给模型打上验证标签
        public class OrderServiceOptions
        {
            [Range(30, 100)]
            public int MaxOrderCount { get; set; } = 100;
        }

      .b.开启验证

                services.AddOptions<OrderServiceOptions>().Configure(options =>
                {
                    configuration.Bind(options);
                }).ValidateDataAnnotations();

    3.实现 IValidateOptions<TOptions>

      a.实现IValidateOptions类
        public class OrderServiceValidateOptions : IValidateOptions<OrderServiceOptions>
        {
            public ValidateOptionsResult Validate(string name, OrderServiceOptions options)
            {
                if (options.MaxOrderCount > 100)
                {
                    return ValidateOptionsResult.Fail("MaxOrderCount 不能大于100");
                }
                else
                {
                    return ValidateOptionsResult.Success;
                }
            }
        }

      b.服务注册

        services.AddOptions<OrderServiceOptions>().Configure(options =>
        {
           configuration.Bind(options); }).Services.AddSingleton
    <IValidateOptions<OrderServiceOptions>>(new OrderServiceValidateOptions( ));
  • 相关阅读:
    架构师时间~白话OAuth2
    vue前端各种问题
    windows命令行导入sql
    正则表达式概述
    XPath语法 在C#中使用XPath示例
    面试宝典
    Repository,UnitOfWork,DbContext(1)
    EF Code First:实体映射,数据迁移,重构(1)
    表单常用的正则表达式
    Lambda表达式
  • 原文地址:https://www.cnblogs.com/Adoni/p/12653797.html
Copyright © 2011-2022 走看看