Ошибки в Inertia
Визит Inertia уходит на сервер как Ajax-запрос. Laravel умеет ловить исключения и отдавать красивую отладочную страницу, но такой ответ не совпадает с протоколом Inertia: клиент ждёт JSON с объектом страницы, а не HTML со стеком вызовов. Без отдельной настройки ошибку пришлось бы искать во вкладке сети браузера, хотя человек остаётся на том же экране приложения.
В локальной среде Inertia подставляет своё решение: любой ответ без признаков Inertia показывают в модальном окне поверх текущей страницы. Стек и сообщение Laravel видны сразу, документ не перезагружается целиком. На боевом сайте модальное окно отладки не подходит гостям, и там возвращают полноценную страницу ошибки Inertia - тот же компонент Vue, что и у обычных экранов, только с кодом статуса в пропсах.
Отдельно встречаются обрыв связи и ответ сервера с кодом 403, 404 или 500. Их можно обработать на клиенте, чтобы не уводить человека с формы, или заранее описать на Laravel, какой компонент рисовать при таком статусе. Проверку полей формы мы уже разбирали: здесь речь о сбоях визита и ответах вне обычного JSON страницы.
Со всем этим мы и будем разбираться в рамках данного раздела.