我想在我的[symfony2.5]表单中添加一个文件字段。
我想打开文件资源管理器来选择文件,并在视图中显示他的路径,如:
“C://path/to/file.docx”
我不想上传图片或其他内容,只需要上传路径字符串。
我刚刚在我的广告实体中添加了该属性:
/**
* @var string
*
* @ORM\Column(type="text", length=255, nullable=false)
* @Assert\NotBlank(message="Please, upload the product brochure as a PDF file.")
*/
private $attachment;
/**
* Set attachment
*
* @param string $attachment
* @return Advert
*/
public function setAttachment($attachment)
{
$this->title = $attachment;
return $this;
}
/**
* Get attachment
*
* @return string
*/
public function getAttachment()
{
return $this->title;
}
在我的表格/ AdvertType.php中,我添加了:
->add('attachment', 'file')
这是我的addAction:
public function addAction(Request $request)
{
$advert = new Advert();
$form = $this->createForm(new AdvertType(), $advert);
$usr = $this->get('security.context')->getToken()->getUser();
if ($form->handleRequest($request)->isValid()) {
$em = $this->getDoctrine()->getManager();
$advert->setAuthor($usr->getUsername());
$advert->setDate(new \DateTime);
$em->persist($advert);
$em->flush();
$request->getSession()->getFlashBag()->add('info', 'Annonce bien enregistrée.');
// On redirige vers la page de visualisation de l'annonce nouvellement créée/
return $this->redirect($this->generateUrl('info_view', array('id' => $advert->getId())));
}
return $this->render('SocietyPerfclientBundle:Default:add.html.twig', array(
'form' => $form->createView(),
));
}
我的@Assert \ NotBlank(消息=“请将产品手册上传为PDF文件。”)始终在这里..
我不明白什么不对请帮助我..
答案 0 :(得分:0)
你需要一个$ form-> isSubmitted()和你的验证$ form-> isValid()? 如果你让@Assert \ NotBlank()没有消息,那么"这个值不应该为空白"出现默认消息?