zoukankan      html  css  js  c++  java
  • FluentValidation具体使用案例

    可以使用NuGet 添加类库

     

    下面是程序:

    using FluentValidation; using System; using System.Linq;

    namespace TestFluentValidation {  

    class Program     {    

         static void Main(string[] args)        

    {            

        var orders = new Orders() { DisCount = 2,

        CustomerID = "1",

        OrderDate = DateTime.Now.AddDays(-1).Date

    };            

            IValidator validator = new OrdersValidator();    

            var results = validator.Validate(orders);

            var validationSucceeded = results.IsValid;    

            var failures = results.Errors;       

            Console.WriteLine(failures.Any(t => t.PropertyName == "CustomerID"));     

            Console.WriteLine(failures.Any(t => t.PropertyName == "DisCount"));     

            Console.WriteLine(failures.Any(t => t.PropertyName == "OrderDate.Date"));    

            failures.ToList().ForEach(t => Console.WriteLine(t.ErrorMessage));

            Console.Read();

            }    

    }

        public class Orders     {    

            public int ID { get; set; }

            public string CustomerID { get; set; }

            public decimal DisCount { get; set; }

            public DateTime OrderDate { get; set; }

        }    

    public class OrdersValidator : AbstractValidator<Orders>    

    {        

    public OrdersValidator()        

    {            

                RuleFor(orders => orders.CustomerID).NotEmpty().Length(2, 20).WithName("CustomerID");

                RuleFor(orders => orders.DisCount).GreaterThanOrEqualTo(0).LessThan(1).WithMessage("discount must between 0 and 1!");

                RuleFor(orders => orders.OrderDate.Date).GreaterThanOrEqualTo(DateTime.Now.Date).WithName("Order Date");   

          }   

      }

    }

  • 相关阅读:
    mysql 遇到的一些问题
    Nginx 深入浅出学习
    spring十三种代理之 -代理模式
    spring 十三种模式之 -- 装饰器模式
    layui使用遇到的一些问题-- 数据表格中嵌套下拉框
    格式化时间-标准做法
    provide --- inject
    vue窗口最上边显示路由进度条
    element --- el-popover
    多个音频播放时,只能播放一个
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/6776141.html
Copyright © 2011-2022 走看看