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

Вывод ошибки поля в Livewire

Правила уже стоят в save, и пустая отправка не создаёт пост. Человек на странице не видит, что именно не так: форма просто не сохраняется, поля остаются как были. Без подсказки у поля непонятно, заголовок ли забыли или текст.

В Blade есть директива, которая показывает текст ошибки для одного имени поля. В шаблоне компонента Livewire она работает так же: сообщения попадают в общий набор ошибок, и их не нужно передавать из класса отдельным массивом.

Давайте в PostForm.php оставим проверку в начале save:

<?php namespace App\Livewire; use App\Models\Post; use Livewire\Component; class PostForm extends Component { public $title = ''; public $body = ''; public function save() { $this->validate([ 'title' => 'required', 'body' => 'required', ]); Post::create([ 'title' => $this->title, 'body' => $this->body, ]); $this->reset(); } public function render() { return view('livewire.post-form'); } } ?>

Давайте в шаблоне под полями выведем сообщения:

<div> <form wire:submit="save"> <input type="text" wire:model="title"> @error('title') <div>{{ $message }}</div> @enderror <textarea wire:model="body"></textarea> @error('body') <div>{{ $message }}</div> @enderror <button type="submit"> Save </button> </form> </div>

Покажите текст ошибки под полем имени работника.

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