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

Правила формы в Livewire

Давайте теперь сохраним заметку с пустым заголовком. Запрос уходит на сервер, строка попадает в базу, а человек даже не видит, что поле обязательное.

В классе формы правила задают методом rules. Перед записью компонент просит объект формы проверить поля; при ошибке сохранение не выполняется.

Давайте заведём NoteForm с обязательным заголовком:

<?php namespace App\Livewire\Forms; use Livewire\Form; class NoteForm extends Form { public $title = ''; public function rules() { return [ 'title' => 'required', ]; } } ?>

Давайте создадим компонент NoteEditor:

php artisan make:livewire NoteEditor --class

Давайте добавим маршрут и страницу:

<?php Route::get('/posts/note', function () { return view('posts-note'); }); ?>
<x-layout> <livewire:note-editor /> </x-layout>

Давайте в save проверим форму и запишем результат в $note:

<?php namespace App\Livewire; use App\Livewire\Forms\NoteForm; use Livewire\Component; class NoteEditor extends Component { public NoteForm $form; public $note = ''; public function save() { $this->form->validate(); $this->note = 'Saved'; } public function render() { return view('livewire.note-editor'); } } ?>

Давайте выведем ошибку под полем и кнопку сохранения:

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

Создайте класс EmployeeRules и компонент EmployeeNote. Пустое имя работника не сохраняется, под полем видно сообщение.

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