当我试图检查验证器是否工作时,我得到了"Symfony''Component''HttpKernel''Exception''MethodNotAllowedHttpException"作为响应。所以当我点击保存按钮后。这是我的代码:
在我的视图"addMedia partial.blade.php"中:
{{ Form::open() }}
<input type="text" name="videoUrl" placeholder="enter youtube video url" />
<input type="text" name="videoTitle" placeholder="enter video title" />
<input type="text" name="videoDescription" placeholder="enter video description" />
<input type="submit" value="Save">
{{ Form::close() }}
在我的routes.php中:
Route::get('/guide/dashboard/media/add/storeVideo', array('as' => 'guide-video-add','uses' => 'MediaController@getNewVideo'));
Route::post('/guide/dashboard/media/add/storeVideo', array('uses' => 'MediaController@postNewVideo'));
在我的控制器MediaController.php中:
public function postNewVideo()
{
$rules = array('videoUrl' => 'required', 'videoTitle' => 'required|min:5', 'videoDescription' => 'required|min:20');
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
//return Redirect::route('guide-media-add')->withErrors($validator);
//gaat niet omdat dit in een andere controller is ??
return Redirect::route('guide-video-add')->withErrors($validator);
}
}
public function getNewVideo()
{
return View::make('guide.dashboard.dashboard')->nest('child', 'guide.dashboard.addMedia-partial');
}
请与Firebug核实您发送的URL和请求类型。
其次,请执行php artisan route:list
。这将向您显示所有路线以及他们接受的方法。
定义的请求和实际请求之间必须不匹配。您必须将POST发送到只接受GET的路由。