ユーザーが画像をアップロードできるフォームがあり、次のようにページに印刷しています。
<?php echo $this->Form->label('file', 'Image file', array('class' => 'col-lg-1 control-label')); ?>
次に、モデルで次のように検証を設定しています。
public $validate = array(
'file' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'You must select an image to upload'
),
'extension' => array(
'rule' => array('extension', array('png')),
'message' => 'Images must be in PNG format'
),
'size' => array(
'rule' => array('fileSize', '<', '1MB'),
'message' => 'Images must be no larger than 1MB'
),
'goodUpload' => array(
'rule' => 'uploadError',
'message' => 'Something went wrong with the upload, please try again'
)
)
);
ただし、アップロードする画像を選択すると、「アップロードする画像を選択する必要があります」というフォームエラーが常に表示されるため、Cake はフォームフィールドを検証ルールに関連付けていないようです。フォームに があることを確認しましたenctype="multipart/form-data"
。
file
これは、データベース フィールドではないために発生していますか? Cakeで検証を実行するにはどうすればよいfile
ですか?
編集: 要求に応じて、フォーム全体を以下に示します: http://pastebin.com/SbSbtDP9