Symfony передает параметры в ограничение валидатора

Я пытаюсь сделать свое приложение гибким, используя файлы конфигурации вместо жестко запрограммированных материалов, и у меня возникают проблемы с ограничениями проверки:

/**
* @var ArrayCollection[SubjectTag]
*
* @ORM\OneToMany(targetEntity="SubjectTag", mappedBy="subject")
* @Assert\Count(max = 15, maxMessage = "You can't create more than 15 tags.")
* @Assert\Valid()
*/
protected $tags;

Было бы лучше сделать что-то вроде:

/**
* @var ArrayCollection[SubjectTag]
*
* @ORM\OneToMany(targetEntity="SubjectTag", mappedBy="subject")
* @Assert\Count(max = "%subject.max_tags%", maxMessage = "You can't create more than %subject.max_tags% tags.")
* @Assert\Valid()
*/
protected $tags;

Но после отладки я увидел, что мои параметры не были восстановлены.

Есть ли способ добиться этого?

3

Решение

Единственный способ сделать это — создать пользовательское ограничение проверки:

http://symfony.com/doc/current/cookbook/validation/custom_constraint.html

Вы можете ввести любые параметры или услуги, которые вам нужны, в валидатор.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]