2011-09-20 39 views
1

我有這個窗體類:關於sfWidgetFormInputFileEditable:更新時不檢索文件的名稱?

class NewsItemForm extends BaseNewsItemForm 
{ 
    public function configure() 
    { 

    $this->useFields(array('title', 'picture', 'text')); 

    $this->widgetSchema['picture'] = new 
sfWidgetFormInputFileEditable(array(

     'file_src' => '/uploads/'.$this->getObject()->getPicture(), 
     'is_image' => true, 
     'edit_mode' => !$this->isNew(), 
     'template' => '<div>%file%<br />%input%<br />%delete% 
%delete_label%</div>', 
    )); 

    $this->validatorSchema['picture'] = new sfValidatorFile(array(
          'mime_types' => 'web_images', 
          'path' => sfConfig::get('sf_upload_dir'), 
          'required' => true, 
          'validated_file_class' => 
'myValidatedResizedFile')); 

    } 

} 

我正確提交表單,在此之後,同樣的形式顯示該 時間來更新數據submited,但問題是它不是 檢索有關的信息圖片,我的意思是,圖片顯示爲 但旁邊的「瀏覽..」按鈕寫有「沒有選擇文件」, 實際上,如果我嘗試提交表單,我會收到錯誤消息 「必需的」圖片字段。

有什麼想法?

sf 1.4。

問候

哈維

回答

1

只需添加'需要'=> $這個 - >是否新款()

$this->validatorSchema['picture'] = new sfValidatorFile(array(
          'mime_types' => 'web_images', 
          'path' => sfConfig::get('sf_upload_dir'), 
          'required' => true, 
          'required' => $this->isNew(), 
          'validated_file_class' => 
'myValidatedResizedFile')); 

    } 
+0

完美的作品,謝謝! – JavierIEH