2013-02-12 77 views
1

我想達到以下基於這個例子表單驗證: http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html 我有一個虛擬提起那將被用於上傳文件。一切都適用於上傳過程。然而,在形式與該文件場總是需要的可能是因爲允許Symfony的2文件的約束,如果空

/** 
* @Assert\Image(maxSize="1000000") 
*/ 
public $image_virtual; 

有什麼辦法只有當$ image_virtual充滿一個文件或圖像的要求?我希望能夠保存表單即使用戶沒有輸入的圖像

+0

你使用Symfony的2.1?試圖提交表單時是否出現錯誤?你的表單字段屬性是否爲'required'?false'? – Schwierig 2013-02-12 13:57:14

+0

我使用Symfony的2.1.6和表單字段是必需=「需要」 – mentalic 2013-02-12 14:03:43

+0

在我加入了formbuilder - >添加(「image_virtual」,「文件」,陣列(「需要」 =>假),它完美地工作,謝謝! – mentalic 2013-02-13 00:24:49

回答

1

基本上它應該工作完全罰款一樣,只要你不插入

/** 
* @Assert\NotBlank 
*/ 

到你的實體。

你必須檢查你的領域是不是在你的formbuilder需要,像這樣:

$builder->add('image_virtual', 'file', 
    array(
     'required' => false 
    ) 
); 
+0

此答案在symfony 3.x上無效 – skrilled 2016-05-25 17:06:47