我正在创建一个InlineValidator
(来自FluentValidation nuget包/库)。
var validator = new InlineValidator<Person>;
validator.RuleFor(x => x.Surname).NotNull();
validator.RuleSet("someRuleSet", () => {
// ?????
});
当我尝试在其中调用RuleSet方法时,似乎无法编译。
我该如何针对
InlineValidator
创建RuleSet?这是我正在尝试的示例规则集...
.RuleSet("someRuleSet", () =>
{
RuleFor(x => x.Name).NotNull();
RuleFor(x => x.Age).NotEqual(0);
}
最佳答案
您不能作为全局方法访问RuleFor
,它位于InlineValidator
上。这是如何添加RuleSet
然后对其进行验证的示例:
// Setup the inline validator and ruleset
var validator = new InlineValidator<Person>();
validator.RuleSet("test", () =>
{
validator.RuleFor(x => x.Name).NotNull();
validator.RuleFor(x => x.Age).NotEqual(0);
});
var person = new Person();
// Validate against the RuleSet specified above
var validationResult = validator.Validate(person, ruleSet: "test");
Console.WriteLine(validationResult .IsValid); // Prints False
关于c# - 如何使用.NET FluentValidation InlineValidator创建RuleSet?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34669322/