Laravel 5 / Spark - 将表单请求中的数据传递给控制器

时间:2017-07-12 16:32:45

标签: php laravel laravel-5 laravel-spark

在Laravel Spark中工作并拥有一个自定义API端点,用于检查用户凭据但不记录用户凭据,只返回用户数据。

我有一个表单请求,检查所需的电子邮件和密码,然后使用

withValidator()

对密码进行更多验证。

public function rules()
{
    return [
        'email' => 'required|email|exists:users',
        'password' => 'required'
    ];
}

public function withValidator($validator)
{
    $validator->after(function ($validator) {

        $user = User::where('email', $this->email)->first();

        if ( $user && !Hash::check($this->password, $user->password) ) {
            $validator->errors()->add('password', 'Incorrect password');
        } else {
            // Pass the user to the controller
        }

    });
}

在我的控制器中,我希望能够返回用户,但我不想完成检查哈希等过程。

我只想做到:

return $request->user

或类似。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

为什么不在控制器中执行此操作?

$user = User::where('email', $request->email)->first();

如果你把它放在验证器之后,你已经知道用户是有效的,否则验证器会在到达那一点之前失败。