О sfWidgetFormInputFileEditable: имя файла не получается при обновлении? - PullRequest
1 голос
/ 20 сентября 2011

У меня есть этот класс формы:

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'));

  }

}

Я отправляю форму правильно, после этого эта же форма показывается время для обновления данных, но проблема в том, что это не так получая информацию о картине, я имею в виду, картинка показана но рядом с кнопкой «Обзор» написано «Файл не выбран», на самом деле, если я пытаюсь отправить форму, я получаю сообщение об ошибке «Обязательно» для поля изображения.

Есть идеи?

sf 1.4.

Привет

Хави

1 Ответ

1 голос
/ 20 сентября 2011

Просто добавьте 'required' => $ this-> isNew () :

 $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'));

  }
...