【发布时间】:2015-09-01 21:25:43
【问题描述】:
我正在尝试使用 Laravel 5.1 的表单请求验证来授权请求是否来自所有者。当用户尝试通过show.blade.php 更新表clinics 的一部分时使用验证。
到目前为止我的设置:
routes.php:
Route::post('clinic/{id}',
array('as' => 'postUpdateAddress', 'uses' => 'ClinicController@postUpdateAddress'));
ClinicController.php:
public function postUpdateAddress($id,
\App\Http\Requests\UpdateClinicAddressFormRequest $request)
{
$clinic = Clinic::find($id);
$clinic->save();
return Redirect::route('clinic.index');
}
UpdateClinicAddressFormRequest.php:
public function authorize()
{
$clinicId = $this->route('postUpdateAddress');
return Clinic::where('id', $clinicId)
->where('user_id', Auth::id())
->exists();
}
Show.blade.php
{!! Form::open(array('route' => array('postUpdateAddress', $clinic->id), 'role'=>'form')) !!}
{!! Form::close() !!}
如果我在授权函数中
dd($clinicId),它会返回null,所以我认为这就是问题所在!
任何帮助为什么在提交时说“禁止”将不胜感激。
【问题讨论】:
标签: php validation laravel laravel-4 laravel-5