Как я могу добавить нарушение в коллекцию?

Моя форма выглядит так:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $factory = $builder->getFormFactory();

    $builder->add('name');

    $builder->add('description');

    $builder->add('manufacturers', null, array(
        'required' => false
    ));

    $builder->add('departments', 'collection', array(
        'type' => new Department
    ));
}

У меня есть валидатор класса на сущности, которая представляет форму, которая вызывает:

    if (!$valid) {
        $this->context->addViolationAtSubPath('departments', $constraint->message);
    }

Который будет добавлять только «глобальный» ошибка в форме, а не ошибка в дополнительном пути. Я предполагаю, что это потому, что отделы - это коллекция, встраивающая другой FormType.

Если бы я изменилсяdepartments в одном из других полей он работает нормально.

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

Ответы на вопрос(3)

Ваш ответ на вопрос