Используйте предложение When
.
RuleFor(x => x.Username).NotEmpty().When(x => x.Found);
Рабочий пример
Зависимые правила немного отличаются; в основном, правила, указанные в блоке зависимых правил, будут проверяться только в том случае, если правило, к которому они присоединены, проходит.
Согласно doco
RuleFor(x => x.Surname).NotNull().DependentRules(() => {
RuleFor(x => x.Forename).NotNull();
});
Здесь правило против Фамилии будет выполняться только в том случае, если правило «Фамилия» пройдет.