我在项目中添加了FluentValidation程序集引用。在编写简单的验证器时,根本没有问题。当我尝试编写集合验证器时出现问题。 VisualStudio
没有看到任何SetCollectionValidator
扩展方法。而且它也不会出现在智能感知片段中。
我没有忘记添加using FlentValidation
。
编辑
尽管没有智能提示,但在SharpDevelop项目中构建了相同的代码。
public class PostValidator : AbstractValidator<Entities.Post>
{
public PostValidator()
{
RuleFor(p => p.Title).NotNull().NotEmpty();
RuleFor(p => p.Content).NotNull().NotEmpty();
RuleFor(p => p.Timestamp).NotNull();
}
}
public class BlogValidator : AbstractValidator<Entities.Blog>
{
public BlogValidator()
{
RuleFor(b => b.Title).NotNull();
RuleFor(b => b.Posts).SetCollectionValidator(new PostValidator());
}
}
我究竟做错了什么?
谢谢。
最佳答案
好。是我的错FluentValidation 2.x发行版可能未定义扩展方法。我的#develop项目包含FluentValidation 3.x版本,因此可以完美构建。但是在#develop和VS中仍然没有智能地展示该方法。