これは結構前からチケットとかで指摘されているようなんだけど、現在も直っていない感じ。
直す気が無いのかな?
ファイルのアップロード処理とかで、フォームでfileタイプを選ぶと、そいつに対してallowEmptyのvalidateが全く効きません。
というか、そもそもallowEmptyはfileタイプに使うなって話なんかな。
んー。
しょうがないので、validateを効かせる&通らせようとすると、以下のようになる。
app_model.phpに
(※こっちはまだ試していない)
んー、これは対応して欲しい気もするけど、どうなんだろうか?
そんなに難しそうにも思えないけど。
直す気が無いのかな?
ファイルのアップロード処理とかで、フォームでfileタイプを選ぶと、そいつに対してallowEmptyのvalidateが全く効きません。
というか、そもそもallowEmptyはfileタイプに使うなって話なんかな。
んー。
しょうがないので、validateを効かせる&通らせようとすると、以下のようになる。
// フォーム名がimageとする
/**
* beforeValidate
*
* @access public
* @return void
*/
function beforeValidate() {
if (
isset($this->data['Model']['image']) &&
isset($this->data['Model']['image']['size']) &&
$this->data['Model']['image']['size'] === 0
) {
$this->data['Model']['image'] = null;
}
}これを該当するモデルに書くか、app_model.phpに
/**
* beforeValidate
*
* @access public
* @return void
*/
function beforeValidate() {
foreach ($this->data[$this->name] as $field => $value) {
if (
isset($this->data[$this->name][$field ]) &&
isset($this->data[$this->name][$field ]['size']) &&
$this->data[$this->name][$field ]['size'] === 0
) {
$this->data[$this->name][$field ] = null;
}
}
}でも良いかもしれん。(※こっちはまだ試していない)
んー、これは対応して欲しい気もするけど、どうなんだろうか?
そんなに難しそうにも思えないけど。
コメント