У меня есть сущность (Тур), которая проходит какой-то процесс подписания в течение своей жизни.
При создании необходимо указать начальную и конечную даты, а также крайний срок для регистрации. Все эти свойства сверяются друг с другом (например, начальная дата должна быть в будущем, конечная дата должна быть равна или после начальной даты, крайняя дата должна быть до начальной даты и т. Д.).
При создании нового тура это просто проверить, поскольку все даты публикуются с использованием соответствующей формы. Однако на более поздней стадии процесса можно изменить только дату крайнего срока, начальная дата и конечная дата уже зафиксированы. Это создает проблему, заключающуюся в том, что начальная дата больше не относится к опубликованным данным, но крайний срок все еще должен быть действительным в отношении начальной даты.
Как мне лучше всего получить доступ к начальной дате редактируемой сущности для проверки даты крайнего срока?
До сих пор я думал о:
- Загрузка объекта в правиле проверки с использованием опубликованного идентификатора объекта. Мне не нравится этот подход, потому что у меня есть несколько таких проверок, и каждая из них затем загружает сущность независимо друг от друга.
- Изменение опубликованных данных для включения начальной даты из исходного объекта. Это обеспечит начальную дату для всех правил валидации, которые в ней нуждаются, но изменит опубликованные данные, что может вызвать проблемы в дальнейшем.
У вас есть другие предложения? Может быть, есть какой-нибудь хук, который я могу реализовать, чтобы внедрить что-то в контекст проверки и таким образом предоставить объекту начальную дату?