Как реализовать чтобы модальное окно в Orchid Laravel не закрывалось при ошибках валидации и ошибки выводились в модальном окне?
Ссылка скопирована
Сейчас ситуация такая: модальное окно закрывается и ошибки выводятся уже на самом экране.
Каким способом сделать чтобы модальное окно в Orchid Laravel не закрывалось при ошибках валидации и ошибки выводились в модальном окне?
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Аккумуляторные батареи
Почему при зарядке автостарта слышен писк, где искать причину?
1 ответ

В Orchid Laravel модальное окно закрывается при ошибке валидации обычно потому, что действие выполняется как обычный submit/redirect, а не как async modal action с возвратом ошибок внутрь формы. Нужно сделать так, чтобы метод выбрасывал
ValidationException, а Orchid получил ошибки и перерисовал модалку, не закрывая её как успешную.В screen-коде validation лучше делать через request validate:
use IlluminateHttpRequest; public function save(Request $request) { $data = $request->validate([ 'name' => ['required', 'string', 'max:255'], ]); // сохранить данные }
Если используется ModalToggle, убедитесь, что кнопка вызывает method, а поля внутри layout имеют правильные имена. Например:
ModalToggle::make('Сохранить') ->modal('editModal') ->method('save') ->asyncParameters([ 'id' => $this->id, ]);
Для модального layout:
Layout::modal('editModal', [ Layout::rows([ Input::make('name') ->title('Название') ->required(), ]), ])->title('Редактирование');
Если вы вручную ловите ошибки и возвращаете redirect, модалка может закрыться. Не нужно делать
return back()при ошибках. Пусть Laravel/Orchid обработает ValidationException.Также проверьте версию Orchid: поведение async modal и validation могло отличаться. Если модалка не async, страница будет перезагружаться, и тогда нужно хранить флаг открытия модального окна в сессии, но это менее удобный вариант.
Итог: используйте штатную валидацию Laravel внутри метода Orchid, не перехватывайте её редиректом, проверьте ModalToggle/method и имена полей. При корректной async-настройке ошибки должны показаться в модальном окне, а не на основной странице.