Я использую FluentValidation 2 для проверки некоторых объектов. Я хотел бы создать IValidationService
, который я могу передать другим службам, чтобы они могли выполнять проверку. Я хотел бы выставить это так:
public interface IValidationEngine
{
IEnumerable<ValidationError> Validate<T>(T entity);
}
Где ValidationError
- это класс, содержащий мои ошибки проверки. В идеале я бы не хотел показывать определенный валидатор одной из моих служб (например, OrderValidator
). Я бы хотел, чтобы служба валидации могла построить / найти правильный валидатор. Есть ли в FV что-то встроенное для поиска валидатора для определенного типа (и он внутренне кэшируется)? Или я должен идти по маршруту IValidatorFactory
и затем связывать каждый валидатор с моим контейнером IoC?