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( ));
  • 相关阅读:
    Net163网页测试
    单片机无线上网的几种方式
    5V到3V3的电平转换-串口通信
    uart rs232 rs485
    转:TI公司CC系列的各种芯片的区别
    OpenWrt 路由器固件
    cortex-m4 不能运行Linux, 可以运行 uclinux, ucos iii
    Lwip Uip
    Java-06-交换两个变量的值
    Java-05-比较equals()与== [转载]
  • 原文地址:https://www.cnblogs.com/Adoni/p/12653797.html
Copyright © 2011-2022 走看看