Как применить правила проверки к типу формы Collection?

Например, у нас есть две сущности: Car и Person, когда мы изменяем PersonType, как показано ниже:

$builder
->add('email')
->add('cars','collection',array(
'type' => new CarType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
))
->add('submit','submit')

и иметь следующие правила проверки для объекта Car:

Mtm\AppBundle\Entity\Car:
properties:
file:
- File:
maxSize: 100k
mimeTypes: [application/pdf, application/x-pdf]
mimeTypesMessage: Please upload a valid PDF

Правила проверки не применяются к форме, она просто выполняет проверку html5, а не проверку на стороне сервера.

Есть идеи, как мне это сделать?

0

Решение

Задавать cascade_validation свойство к истине:

$builder
->add('email')
->add('cars','collection',array(
'type' => new CarType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'cascade_validation' => true
))
->add('submit','submit')

http://symfony.com/doc/current/reference/forms/types/collection.html#cascade-validation

1

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

Рабочий раствор ниже:

/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Mtm\AppBundle\Entity\Person',
'cascade_validation' => true,
));
}

Мне пришлось добавить его в defaultOptions.

Спасибо dmnptr за предоставленный способ найти правильный ответ.

0

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