私はZend Framework 1.11.12
バージョンに取り組んでいます。file upload (for photo upload)
フィールドを配置する必要がある私の追加フォームではvalidations as required, file extensions and size specific criteria
、以下のように言及されているものはほとんどありません。これは、私のzendフォームで宣言されています。
// part of my form class (Default_Form_Photo::init)
$photo = new Zend_Form_Element_File('photo', '', array('required' => true));
$photo->setLabel('Photo')
->setDestination('/var/www/zendframework/public/uploads/');
// ensure its mandatory
#$photo->addValidator('required', true);
// ensure only one file
$photo->addValidator('Count', false, array('min' => 1));
// max 2MB
$photo->addValidator('Size', false, 2097152)
->setMaxFileSize(2097152);
// only JPEG, PNG, or GIF
$photo->addValidator('Extension', false, 'jpg,jpeg,png,gif');
$photo->setValueDisabled(true);
$this->addElement($photo, 'photo');
新しい画像がアップロードされていない場合は、現在の画像名が返されhidden field
ます。edit page
// hidden element for edit time photo save
$this->addElement('hidden', 'photo_uploaded', array( ));
これをで設定しhidden element value from controller
ました$form->photo_uploaded->setValue($result['photo'])
。
ここで問題となるのは、ユーザーが情報を編集するときに、新しい画像がアップロードされていないため保存できませんfile upload field is blank
が、私の場合は、非表示の要素からコントローラーに渡す既存の現在の画像を使用する必要があります。
したがって、検証はここで問題を引き起こします。ユーザーが情報を編集しているときに、ユーザーが毎回新しい画像をアップロードする必要がない編集ページの検証を削除するにはどうすればよいですか。
早めの対応をお願いします。
ありがとう !