0
点赞
收藏
分享

微信扫一扫

FluentValidation具体使用案例

佃成成成成 2022-06-22 阅读 51

可以使用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");
}
}
}

龙腾一族至尊龙骑

举报

相关推荐

0 条评论