В symfony2 / doctrine 2 я хочу использовать ограничения проверки для выполнения проверки загруженного файла в моем приложении.
Поскольку базовая сущность является общей сущностью мультимедиа, которую можно использовать для различных типов мультимедиа на сайте, я хочу поместить эти ограничения проверки в соответствующие типы форм.
Когда я не ставлю никаких утверждений, загрузка выполняется правильно.
При этом я получаю следующую ошибку:
Expected argument of type "string", "Doctrine\ORM\PersistentCollection" given
Stack Trace
in vendor/symfony/symfony/src/Symfony/Component/Validator/Constraints/FileValidator.php at line 119 -
}
if (!is_scalar($value) && !$value instanceof FileObject && !(is_object($value) && method_exists($value, '__toString'))) {
throw new UnexpectedTypeException($value, 'string');
}
$path = $value instanceof FileObject ? $value->getPathname() : (string) $value;
Мой тип формы:
->add('medias', 'collection', array(
'type' => new MediaType(),
'by_reference' => false,
'label'=>'Images et vidéos',
'allow_add' => true,
'allow_delete' => true,
'required' => false,
'cascade_validation' => true,
'constraints' => array(
new Assert\File(array('mimeTypes' => array("video/mpeg"), 'mimeTypesMessage' => "The file is not a video"))
),
'attr'=>array(
'data-toggle'=>"tooltip",
'data-placement'=>"top",
'title'=>"Ajoutez des images ou vidéos pour décrire la recette",
)))
Что я делаю неправильно ?
Арф, я устал, я должен поместить это утверждение в другой Assert \ All. Я получаю ошибку, потому что это коллекция.
Других решений пока нет …