我正在使用 FluentValidation 2 来验证某些实体。我想创建一个IValidationService
可以传递给其他服务以允许他们执行验证的服务。我想像这样公开它:
public interface IValidationEngine
{
IEnumerable<ValidationError> Validate<T>(T entity);
}
ValidationError
封装我的验证错误的类在哪里。理想情况下,我不想将特定验证器暴露给我的一项服务(例如OrderValidator
)。我希望验证服务能够构建/找到正确的验证器。FV 是否内置了任何东西来定位特定类型的验证器(并且它在内部缓存)?或者,我是否必须走这IValidatorFactory
条路线,然后将每个验证器与我的 IoC 容器连接起来?