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

Сообщения формы в Livewire

Давайте разберём такой случай. Пустое поле заголовка ругается чужими словами из фреймворка, и человек не сразу понимает, что именно нужно исправить.

В классе формы рядом с rules можно описать метод messages: ключ совпадает с правилом, значение - готовая фраза для экрана.

Давайте заведём TitleForm:

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

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

php artisan make:livewire TitleEditor --class

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

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

Давайте свяжем форму и сохранение с проверкой:

<?php namespace App\Livewire; use App\Livewire\Forms\TitleForm; use Livewire\Component; class TitleEditor extends Component { public TitleForm $form; public function save() { $this->form->validate(); } public function render() { return view('livewire.title-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>

Создайте класс StaffForm и компонент StaffEditor. Пустое имя работника показывает свою фразу Enter a name.

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