$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
控制来处理必要的事情。
答案 0 :(得分: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);
}
...
答案 1 :(得分:0)
问题在于我试图上传的图片。出于某种原因,我的一些JPG文件无法通过mimetype检查,而其他人可以。
他们都通过了getClientOriginalName()
。