#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 я пытался избежать этого решения, зачем отправлять весь класс, когда вам нужно всего два поля, но, похоже, другого способа нет. Спасибо