В Symfony 3 его не разрешено использовать cascade_validation
. Поэтому вам нужно сделать Assert для типов. Но это не сработает, форма действительна, даже если поле BLANK, но Assert сказал NOtBlank. У меня есть класс Участники, и я хочу проверить Adults ArrayCollection при проверке модели участника.Symfony: Как использовать Assert/Validation для ArrayCollection
//Participant Model
/**
* @var ArrayCollection
* @Assert\All({
* @Assert\Type(type="My\WebsiteBundle\Model\Adult"),
* })
*/
protected $adults;
//Adult Model
class Adult
{
/**
* @var string
*
* @Assert\NotBlank()
*/
protected $salutation;
/**
* @var string
*
* @Assert\NotBlank()
*/
protected $firstname;
/**
* @var string
*
* @Assert\NotBlank()
*/
protected $lastname;
я уже читал это, нет ответа сделайте это с помощью ArrayCollection. – Zwen2012
Привет @ Zwen2012 этот валидатор имеет параметры с именем 'traverse'. Из документа: _ Если это ограничение применяется к свойству, содержащему массив объектов, то каждый объект в этом массиве будет проверяться только в том случае, если для этого параметра установлено значение true._ – Matteo
Хорошо, можете ли вы привести пример? И это так?/** * @var ArrayCollection * @Assert \ All ({@ Assert \ Траверса(), * @Assert \ Тип (тип = "My \ WebsiteBundle \ Model \ Checkout \ Adult"), *}) */ защищено $ взрослыми; – Zwen2012