【问题标题】:throwValidationException method does not existthrowValidationException 方法不存在
【发布时间】:2018-05-16 18:15:12
【问题描述】:

我正在关注 laravel 5.5 关于覆盖 RegisterController 中的 REGISTER 方法的教程,但我收到错误消息“[App\Http\Controllers\Auth\RegisterController] 上不存在方法 [throwValidationException]”,而不是确定为什么?

<?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();
    }
}
?>

【问题讨论】:

  • 添加使用ValidatesRequests;特质
  • 由于某种原因仍然出现同样的错误。
  • 你是否在安装其他版本的同时跟随 laravel 5.3 讲座? Prolly,您不想向用户抛出异常,而是想显示异常,因此请执行以下操作: if($validator->fails() return redirect('post/create') ->withErrors($validator) ->withInput( );)
  • 这不是 Laravel 5.5 的教程......因为该方法不再存在。除非您了解版本之间的所有差异,否则您不能遵循使用不同版本 Laravel 的教程,否则您会遇到这样的问题。
  • 我不太确定你为什么要覆盖这个方法,因为没有必要......注册后会触发一个Registered 事件,你可以收听......这就是成功注册后需要运行的任何代码都应该去

标签: laravel


【解决方案1】:

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

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

插入这些行

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

【讨论】:

    猜你喜欢
    • 2018-06-16
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多