throwValidationException方法不存在

时间:2017-12-02 23:36:15

标签: laravel

我在lalavel 5.5的教程中覆盖了覆盖RegisterController中的REGISTER方法,但是我收到错误说"在[App \ Http \ Controllers \ Auth \上不存在方法[throwValidationException] RegisterController]",不知道为什么?

<?php
/**
*  Over-ridden the register method from the "RegistersUsers" trait
*  Remember to take care while upgrading laravel
*/
public function register(Request $request)
{
    // Laravel validation
    $validator = $this->validator($request->all());
    if ($validator->fails()) 
    {
        $this->throwValidationException($request, $validator);
    }
    // Using database transactions is useful here because stuff happening is actually a transaction
    // I don't know what I said in the last line! Weird!
    DB::beginTransaction();
    try
    {
        $user = $this->create($request->all());
        // After creating the user send an email with the random token generated in the create method above
        $email = new EmailVerification(new User(['email_token' => $user->email_token, 'name' => $user->name]));
        Mail::to($user->email)->send($email);
        DB::commit();
        return back();
    }
    catch(Exception $e)
    {
        DB::rollback(); 
        return back();
    }
}
?>

1 个答案:

答案 0 :(得分:6)

作为laravel 5.5主要控制器的注册,你只能使用这一行:

$this->validator($request->all())->validate();

注意这些行

$validator = $this->validator($request->all());
        if ($validator->fails()) {
            $this->throwValidationException($request, $validator);
        }