Laravel:在错误的方法 - 表单验证响应之后提交方法删除表单失败

时间:2014-08-21 02:54:17

标签: forms validation laravel laravel-4

我在同一页面上有 put-form 删除表单

{{Form::open( .. 'method'=>'delete' .. )}} ... {{Form::close()}}
{{Form::open( .. 'method'=>'put' .. )}} ... {{Form::close()}}

put-form 验证失败时,我会回来打印错误。

return Redirect::back()->withInput()->withErrors($validator);

在那一刻,如果您提交删除表单,它就会成为方法PUT 提交!!

这是因为会话中存储的先前输入信息

混合post / delete或put / get工作正常。

在同一页面上有一个put / delete组合的解决方案??

1 个答案:

答案 0 :(得分:2)

Laravel为PUT和DELETE请求发送_method的隐藏字段。这两个请求都是POST。

当您返回视图时,您正在使用之前提交的_method设置_method

尝试在重定向之前更改_method的输入。

  

由于HTML表单仅支持POST和GET,因此将自动在表单中添加_method隐藏字段来欺骗PUT和DELETE方法。   ~ Laravel Docs - Opening a form