Как передать средство получения или атрибут класса в пользовательское ограничение symfony?

#symfony #validation #annotations #constraints

#symfony #проверка #аннотации #ограничения

Вопрос:

У меня есть пользовательское ограничение для проверки, находятся ли заданные координаты внутри заданного региона, но я не могу передать этот RegionID ограничению, потому что это не константа, это переменная класса. Я пробовал это
/**
* @var array
* @CoordinatesInsideRegion(regionId= getRegionId())
*/
protected $coordinates;
, но он возвращает это

{«code»:500,»message»: «[Семантическая ошибка] Не удалось найти константу getRegionId, свойство CustomerBundleDTOAddressRequestCreateAddressRequestDTO::$coordinates.»}

Я также пробовал RegionID, this.RegionID, this.getRegionId(), Но ничего не сработало

Комментарии:

1. Обновите свой пользовательский валидатор на целевой класс вместо свойства, тогда вы получите весь объект в качестве значения. Посмотрите на это: symfony.com/doc/current/validation /…

2. @GasKa я пытался избежать этого решения, зачем отправлять весь класс, когда вам нужно всего два поля, но, похоже, другого способа нет. Спасибо