Laravel Проверка - исключение: «данные были неверны» - PullRequest
0 голосов
/ 20 марта 2020

У меня есть простой контроллер, Laravel 5.5, с некоторой базовой проверкой c, но когда я ввожу недопустимые данные, я отправляю форму и получаю «ValidationException: указанные данные были недействительными».

Предполагается, что фреймворк перенаправляет меня в форму с сообщениями об ошибках, но я попадаю на большую красную страницу исключений.

С чего бы это?

/**
 * Store blog comment
 */
public function store(Request $request)
{
    try {
        $blogPost = BlogPost::where('id', '=', $request->blog_post_id)->get()->first();
        if (!$blogPost) {
            abort(404);
        }

        $validatedData = $this->validate($request, [
            'blog_post_id' => 'required|numeric',
            'blog_comment' => 'required|min:3',
            'blog_comment_name' => 'required|min:3',
            'blog_comment_company' => 'nullable'
        ]);

Вот контроллер это возвращает меня на страницу исключения.

1 Ответ

0 голосов
/ 29 апреля 2020

Проблема, с которой я столкнулся, заключалась в том, что пользовательский обработчик исключений не выполняет то, что должен был сделать.

Laravel по умолчанию не сообщает об исключениях из проверки как об исключениях. Если ValidationException отсутствует в списке dontReport, ошибки валидации приводят к тому, что приложение выдает исключение.

/**
 * A list of the exception types that are not reported.
 *
 * @var array
 */
protected $dontReport = [
    AuthorizationException::class,
    HttpException::class,
    ModelNotFoundException::class,
    ValidationException::class,
];
...