Php 两个表单提交给Laravel中的同一控制器更新操作
我有两个表单用于更新用户表 每个表单更新不同的列,路由如下所示:Php 两个表单提交给Laravel中的同一控制器更新操作,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有两个表单用于更新用户表 每个表单更新不同的列,路由如下所示: Route::get('users/preferences', 'Auth\AuthController@pref'); Route::get('users/profile/{id}/edit', 'Auth\AuthController@edit'); Route::patch('users/profile/{id}', 'Auth\AuthController@update'); 这两种形式的操作都指向此路由:users/p
Route::get('users/preferences', 'Auth\AuthController@pref');
Route::get('users/profile/{id}/edit', 'Auth\AuthController@edit');
Route::patch('users/profile/{id}', 'Auth\AuthController@update');
这两种形式的操作都指向此路由:users/profile/{id}
是否有一种方法可以识别提交的表单,从而在插入之前应用验证或操作数据
注意:我不需要首选项中的id,因为我在本例中使用了当前登录的id
public function pref()
{
return view('pages.users.pref');
}
public function edit(User $id)
{
return view('pages.users.edit')->with('profile', $id);
}
public function update(Request $request, User $id)
{
// want to know of best way to know which form is submitted
/*
if(this from)
do this
else
do that
*/
return redirect('users/profile/'.$id->userid);
}
如果您有更好的想法,请提供。
提前谢谢。我想您是在找。更具体地说,
if($request->isMethod(“”)){…}
向两个具有不同值的表单添加一个隐藏表单字段,然后根据该字段值执行所需操作need@Andrew这将返回类型为post/get/patch的方法,但它们都是patchmethod@K.Toress我想过,但这样做安全吗?这是最好的处理方法吗?如果将来我想在同一个动作中再添加一个表单,这会有帮助吗?@ClearDuch噢,我明白了,我明白了。在这种情况下,K.托雷斯的答案是正确的选择。它应该足够安全,因为您可以直接执行if(case1)
和if(case2)
。即使有人搞乱了前端,也没什么大不了的。我想你是在找。更具体地说,if($request->isMethod(“”)){…}
向两个具有不同值的表单添加一个隐藏表单字段,然后根据该字段值执行所需操作need@Andrew这将返回类型为post/get/patch的方法,但它们都是patchmethod@K.Toress我想过,但这样做安全吗?这是最好的处理方法吗?如果将来我想在同一个动作中再添加一个表单,这会有帮助吗?@ClearDuch噢,我明白了,我明白了。在这种情况下,K.托雷斯的答案是正确的选择。它应该足够安全,因为您可以直接执行if(case1)
和if(case2)
。即使有人搞乱了前端,也没什么大不了的。