Вы заметите, что точка отладки действительно входит в оба блока, но ошибки не отображаются для одного и того же.
Например, следующий код,
When(x => x.Type == 1, () =>
{
RuleFor(y => y.Type).LessThanOrEqualTo(1);
})
.Otherwise(() => {
RuleFor(y => y.Type).GreaterThan(10);
});
будет работать для типа = 1 (т.е. ошибка не будет отображаться), но для типов = 0 и типа = 2 (до 10) будет отображаться следующая ошибка:
{
"Type": [
"'Type' must be greater than '10'."
]
}