我有以下路线:
Route::get('videos/{video}/edit', 'VideoController@edit');
Route::put('videos/{video}/update2', 'VideoController@update2');
第一条管线加载以下剥离视图:
<form action='/videos/{{$video->uid}}/update2' method='post'>
<button class='btn btn-default' type='submit'>Update</button>
{{csrf_field()}}
{{method_field('PUT')}}
</form>
它从控制器代码返回,其代码如下所示:
class VideoController extends Controller {
public function edit(\App\Models\Video $video){
return view('video.edit',[
'video' => $video,
]);
}
public function update2(VideoUpdateRequest $request,\App\Models\Video $video){
echo "ok";
}
}
根据这段代码,预期的行为应该是看到“ok”,而不是我得到HTTP 302重定向,如下面在开发人员控制台中所示。
这是一个奇怪的行为,这是不期望的。如何获得预期的行为,显示“确定”后提交的形式?如何调试这个?
已解决
问题是表单中的HTML元素没有name
属性,因此Laravel Form Request Validation重定向回来。在添加这些缺失的属性后,表单可以按预期工作。
1条答案
按热度按时间ttcibm8c1#
已解决
问题是HTML表单中的元素没有
name
属性,因此导致Laravel表单请求验证重定向回来。在添加缺少的属性后,表单按预期工作。