Есть форма в ней коллекция, мне нужно возле каждого элемента коллекции вывести ошибку, пытаюсь вот так добавить ошибки к элементам. Знаю что в этом коде сейчас ошибки добавятся к каждому элементу!
$builder->add('projectPings', CollectionType::class, array(
'entry_type' => BillingPingType::class,
'entry_options' => array('label' => false),
'label' => false,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'error_bubbling' => false,
'constraints' => new Callback(array($this, 'validateProjectPings'))
))
public function validateProjectPings($value, ExecutionContextInterface $context)
{
$form = $context->getRoot();
$form_pings = $form->get('projectPings');
$root_path = $form_pings->getPropertyPath()->getElement(0);
foreach ($form_pings as $ping){
$path = $ping->getPropertyPath()->getElement(0);
$context->buildViolation('This field cannot be empty.')
->atPath($root_path)
->atPath(sprintf("[%s]", $path))
->atPath('limitTo')
->addViolation();
}
}
Но ошибка все равно добавляется в projectPings, вообще в cause путь ошибки вроде как правильно указан, может я просто незнаю как ее теперь вывести в шаблоне?