我在同一页面上有 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组合的解决方案??
答案 0 :(得分:2)
Laravel为PUT和DELETE请求发送_method
的隐藏字段。这两个请求都是POST。
当您返回视图时,您正在使用之前提交的_method
设置_method
。
尝试在重定向之前更改_method
的输入。
由于HTML表单仅支持POST和GET,因此将自动在表单中添加_method隐藏字段来欺骗PUT和DELETE方法。 ~ Laravel Docs - Opening a form