РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwPmPrKp 35 of 76 menu
◀ ▶

Введённые значения остаются в Livewire

Отправка с пустым заголовком или с запрещённым словом не создаёт пост, зато под полями видны ошибки. Человек исправляет текст прямо там, где набирал, и не теряет остальной ввод. Такое поведение не случайность: оно следует из того, как устроены свойства и порядок шагов в save.

Значения формы живут в публичных свойствах компонента, а поля связаны с ними через wire:model. Пока свойство не сбросили, в шаблоне остаётся тот же текст. Сброс после успешного сохранения стоит в конце метода: при ошибке выполнение обрывается раньше, и до него очередь не доходит.

Давайте ещё раз посмотрим на порядок в save - сначала проверка и возможный выход, затем создание записи и только потом очистка полей:

<?php public function save() { $this->validate([ 'title' => 'required|min:3', 'body' => 'required', ], [ 'title.required' => 'Enter a title', 'body.required' => 'Enter a text', ], [ 'title' => 'heading', 'body' => 'text', ]); if ($this->title === 'Admin') { $this->addError('title', 'This title is reserved'); return; } Post::create([ 'title' => $this->title, 'body' => $this->body, ]); $this->reset(); } ?>

Добейтесь, чтобы при ошибке набранное имя работника осталось в поле.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить