FluentValidation
FluentValidation是与ASP.NET DataAnnotataion Attribute验证实体不同的数据验证组件,提供了将实体与验证分离开来的验证方式,同时FluentValidation还提供了表达式 链式语法。
地址:
https://github.com/JeremySkinner/FluentValidation
static void Main(string[] args)
{
//非空验证
TestValidator validator = new TestValidator(v => v.RuleFor(x => x.Surname).NotNull());
var result= validator.Validate(new Person { Surname = "Foo" });//true
Console.WriteLine(result.IsValid);
result = validator.Validate(new Person { Surname = null});//false
Console.WriteLine(result.IsValid); validator = new TestValidator {
v => v.RuleFor(x => x.Surname).NotEmpty()
};
result = validator.Validate(new Person { Surname = null });
Console.WriteLine(result.IsValid); }
public class Person
{
public string NameField;
public int Id { get; set; }
public string Surname { get; set; }
public string Forename { get; set; } }
源码有很多测试示例