Restricting page access before submitting other page in laravel
I have an application that requires 3 step to register. Those steps where separated as pages.
Now my question is, how can I prevent access to /step/2 if the user doesn't submit the form from /step/1 properly and same with /step/3 if the user doesn't submit /step/2 properly?
Route::post('/step/1', 'RegisterController@first');
Route::post('/step/2', 'RegisterController@second');
Route::post('/step/3', 'RegisterController@third');
class RegisterStepsController
{
public function first() {
// store details from first step
$user->level = 1;
$user->save();
}
public function second(Request $request) {
// less than one or you could do $request->user->level === 0
// depends on what behaviour you want
if($request->user->level < 1) {
return 'Complete first step';
}
// store details from second step
$user->level = 2;
$user->save();
}
public function third(Request $request) {
// $request->user->level === 1
if($request->user->level < 2) {
return 'Complete second step'
}
// store details from third step
$user->level = 3;
$user->save();
}
}
@tarang19 something like this should get the job done