Учитывая класс валидатора, который выглядит как этотСвободно правила валидации, подмножество и раскрой
public class SomeValidator : AbstractValidator<SomeObject>
{
public SomeValidator(){
RuleSet("First",
() => {
RuleFor(so => so.SomeMember).SetValidator(new SomeMemberValidator())
});
RuleSet("Second",
() => ... Code Does Not Matter ...);
RuleSet("Third",
() => ... Code Does Not Matter ...);
}
}
И другое, чтобы сделать внутреннюю Validation-членом
public class SomeMemberValidator: AbstractValidator<SomeMember>
{
public SomeValidator(){
RuleSet("Fourth",
() => {
... Code Does Not Matter ...
});
}
}
Вопрос, я хочу, чтобы запустить определенные наборы правил: «Первый», «Второй» и «Четвертый». Я не хочу, чтобы «Третий» запускался.
Учитывая, что сигнатура метода Validate принимает только один аргумент набора правил, я не вижу никакого способа сделать это. Есть «*», но я не хочу запускать все правила.
Пожалуйста, помогите.
Я надеялся избежать возможности проникновения в исходный код, если это возможно, но мы увидим. Спасибо за помощь. – Alwyn