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

Имена полей формы в Livewire

Давайте рассмотрим ситуацию, когда сообщение об ошибке называет поле именем свойства в коде, а человеку нужно привычное слово вроде заголовка.

Метод validationAttributes в классе формы сопоставляет имя свойства с подписью, которую подставят в текст ошибки вместо технического названия.

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

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

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

php artisan make:livewire HeadEditor --class

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

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

Давайте опишем компонент и сохранение:

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

Создайте класс NameForm и компонент NameEditor. В сообщении об имени работника стоит слово name, а не имя свойства.

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