У нас был похожий случай, нагуглил способ Required с условием, делается через кастомный атрибут. В нем по любым другим свойствам модели определяется должно ли поле быть обязательным, или нет.
Если в вашем случае всегда есть условие что модель имеет null в требуемом свойстве и это никак не отличить от другого требования, где оно не должно быть null, то такую ситуацию даже ИИ сложно будет решить, шутка, такая задача не решаема. В другом случае подойдет Required с условием.
1) Гуглим - Conditional Required Attribute
2) Используем FluentValidation
https://github.com/JeremySkinner/FluentValidation (это очень мощный инструмент). Позволяет пилить свою валидацию удобно и с извращениями/любым количеством условий.