0
    $input = Input::all();
    $input['resim'] = Input::file('resim')->getClientOriginalName();

    $rules = array( 
        'resim'         => 'required|max:3000|image|mimes:jpg,gif,png',
    );

    $validation = Validator::make($input, $rules);

    if($validation->fails())
    {
        return View::make('theme-admin.slider_add')
            ->nest('message_area', 'theme-admin.error', array('message' => $validation->messages()->first()));
    }

    ...

問題は、Input::file('resim')->getClientOriginalName();画像がアップロードされていないときに例外をスローすることです。(たとえば、HTMLフォームの送信ボタンを直接クリックしたとき)

ただし、required|max:3000|image|mimes:jpg,gif,pngその行を消去すると、このルールは機能しません。有効な画像をアップロードするかどうかに関係なく、mimes:jpg,gif,png制御は渡されません。

に頼らずにこれを行うにはどうすればよいInput::file('resim')->getClientOriginalName();ですか?必要requiredなものを処理するためのコントロールが必要です。

4

2 に答える 2

0
//Input has file with name attribute as 'resim'
$rules = array('resim' => 'required|max:3000|image|mimes:jpg,gif,png');

$validator = Validator::make(Input::all(), $rules);

if ($validator->fails())
{
    return Redirect::to('...')->withErrors($validator);
}

...
于 2013-06-14T13:53:58.170 に答える
0

問題は、アップロードしようとしている画像にありました。何らかの理由で、私の JPG ファイルのいくつかは MIME タイプ チェックをパスできませんでしたが、他のファイルはパスできました。

しかし、それらはすべて合格しましgetClientOriginalName()た。

于 2013-06-19T21:49:16.413 に答える