Laravel,路径必需参数未通过表单请求验证

时间:2017-03-28 14:39:46

标签: laravel validation

我正在使用laravel 5.4

routes / web.php [Route]

Route::get('/email-confirmation/{token}', ['uses' => 'Components\ConfirmationController@sendEmailConfirmation', 'as' => 'web.email.confirmation']);

Components / ConfirmationController.php [Controller]

public function sendEmailConfirmation(EmailConfirmationRequest $request) 
{
dd($request->input('token'));
// ouput is empty
}

//我知道,路由必需参数是通过传入第二个参数

来访问的

EmailConfirmationRequest.php [请求]

public function rules()
{
    return ['token' => 'required|max:3'];
}

网址:/ email-confirmation / hello - 未验证

因此,它无法验证请求中的token参数。

我不确定,我做错了什么。

1 个答案:

答案 0 :(得分:0)

正如一些评论所说,您将$token作为路由参数传递,而不是输入值。

要使用此路线参数,请更新您的方法(添加$token

public function sendEmailConfirmation(EmailConfirmationRequest $request, $token) 
{
    dd($token);
    // output should be $token value
}

如果您确实想将其作为输入传递,可以将其添加为表单中的隐藏字段。