バリデーションルール
fuel/app/classes/validation/asset.php
<?php
/**
* 独自バリデーションを追加
*/
class Validation_Asset
{
/**
* アップロードファイルをチェック
*/
public static function _validation_upload($val, $config = null)
{
Upload::process($config);
if( Upload::is_valid() ){
Upload::save();
return true;
}
return false;
//return Upload::get_error(); //TODO send error message
}
}
コンフィグ
- upload.phpとuploads.phpがあるのでややこしい
fuel/app/config/uploads.php
<?php
return array(
'photo1' => array(
'path' => APPPATH. 'tmp/image/',
'max_size' => 2 * 1024 * 1024,
'ext_whitelist' => array('jpg','jpeg','gif','png'),
),
);
fuel/app/config/upload.php
<?php
return array(
'auto_process' => false,
'auto_rename' => false,
'overwrite' => true,
'randomize' => true,
);
バリデーション
fuel/app/classes/model/assets.php
/*
* 画像アップロード時のバリデーション
*/
public static function validate($factory)
{
$val = Validation::forge($factory);
$val->add_callable('Validation_Asset');
Config::load('uploads');
$photo_config = Config::get('photo1');
$val->add('photo', 'Photo')
->add_rule('upload', $photo_config )
;
return $val;
}