Если делать стандартный POST запрос с формы страницы, то все очень просто. Перез входом к контроллер в риквесте проверяются поля. Если не ОК, возврачается ответ, перезагружается страница, заполняются поля введенными данными, невалидные подсвечиваются и появляются тексты ошибок. Как это работает - все понятно. А как быть если не хочется обновлять страницу? Я могу отправить все эти данные через аякс. Они точно так же обработаются и наверное мы получим соответствующий риквест со всеми ошибками. Вопрос... Как в этом случае правильно забрать эти коды ошибок и отобразить их на форме? Это все нужно делать вручную скриптами? Или это все не так работает?
А как мне передать клиенту все эти ошибки валидации? Когда это не аякс, то отлично работает такой вариант: Код (Text): @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif Но это бэкенд вставляет ошибки прямо в html. А как их передать массивом клиенту в респонсе, чтобы аякс смог подхватить? Наверное, должно быть что-то наподобие такого: Код (Text): return back()->with('error', 'Failed to find that resource'); Но тогда мне придется все валидировать вручную и добавлять все ошибки в with()
Когда ты делаешь AJAX, Laravel это видит и вместо редиректа при ошибках возвращает json и код 422, который большинством обработчиков AJAX-а типа jQuery, axios и т.п. перенаправляется в указанный при вызове обработчик ошибок.
Я обычно это также делаю, как проверки без ajax, потом отправляю результат и вывожу сообщение, которое пришло в responseText
@Dimon2x, это потому что ты с докой не дружишь Ларавель конечно громоздкий и не очень поворотливый, но все типичные задачи там уже решены, и уже конечно, там всё ОК с ajax-валидацией. ПРиходит такой себе аккуратненький json-чик. Код (Text): { "message": "The given data was invalid.", "errors": { "password": [ "The password confirmation does not match." ], "name": [ "The name field is required." ], "last_name": [ "The last name field is required." ] } }
@Dimon2x, гордиться нечем json вернуть быстрее, чем вёрстку, освобождает канал, легче интегрировать с приложениями. Не даром сейчас вообще стараются с сервера только json-ы и слать, а всю вёрстку делать на каком-нибудь Angular, Vue и т.п. Я, к своему стыду, тоже недавно только понял, какой это кайф, хотя профессионально (в смысле, за деньги и для денег) занимаюсь веб-разработкой уже 6 лет. Сейчас вот потихоньку даже переквалифицируюсь в фронтэнд разработчика, поскольку бэк часто (хотя и не всегда) в конторе, где теперь перешёл на постоянку с фриланса, теперь пишут джависты.
@mkramer angular vue react с ssr это тема. Мобильные десктопные преложения вообще автоматом получаются под все платформы если правильно веб сделать.