可以使用NuGet 添加类库

FluentValidation具体使用案例



下面是程序:

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");
        }
    }


}

相关文章:

  • 2022-12-23
  • 2021-04-29
  • 2022-12-23
  • 2021-11-13
  • 2021-09-12
  • 2022-12-23
  • 2021-09-02
猜你喜欢
  • 2021-10-15
  • 2022-02-03
  • 2021-10-08
  • 2022-12-23
  • 2021-08-31
相关资源
相似解决方案