Laravel «бросить» с ValidationException return 500 insteed 422? - PullRequest
1 голос
/ 27 мая 2020

У меня есть форма входа, регистрации и восстановления в приложении Laravel 5.8. Когда я пытаюсь отправить данные формы, сервер возвращает ошибку 500.

Последний метод операции, который я нашел:

protected function sendFailedLoginResponse(Request $request)
{
    throw ValidationException::withMessages([
        $this->username() => [trans('Неверный логин или пароль, проверьте <br> введённые данные и нажмите «Вход» ещё раз')],
    ]);
}

Я попытался сбросить ValidationException без «выброса», и он вернет правильные данные.

Например:

ValidationException {#455 ▼
  +validator: Validator {#451 ▼
    #translator: Translator {#200 ▶}
    #container: Application {#2 ▶}
    #presenceVerifier: DatabasePresenceVerifier {#438 ▶}
    #failedRules: []
    #messages: MessageBag {#448 ▼
      #messages: array:1 [▼
        "email" => array:1 [▼
          0 => "Неверный логин или пароль, проверьте <br> введённые данные и нажмите «Вход» ещё раз"
        ]
      ]
      #format: ":message"
    }
    #data: []
    #initialRules: []
    #rules: []
    #currentRule: null
    #implicitAttributes: []
    #distinctValues: []
    #after: []
    +customMessages: []
    +fallbackMessages: []
    +customAttributes: []
    +customValues: []
    +extensions: []
    +replacers: []
    #fileRules: array:9 [▶]
    #implicitRules: array:10 [▶]
    #dependentRules: array:18 [▶]
    #sizeRules: array:8 [▶]
    #numericRules: array:2 [▶]
  }
  +response: null
  +status: 422
  +errorBag: "default"
  +redirectTo: null
  #message: "The given data was invalid."
  #code: 0
  #file: "/home/v/vladish1/xenforo.ws/public_html/vendor/laravel/framework/src/Illuminate/Validation/ValidationException.php"
  #line: 71
  trace: {▶}
}

Но при «выкидывании» сервер вернет 500. Почему? Что делаю не так?

...