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

Пакет ошибок в Inertia

Давайте теперь разведём сообщения проверки, если на одной странице несколько форм с одинаковыми именами полей. Laravel может складывать ошибки в разные пакеты, чтобы они не смешивались в общем ответе.

При отправке через хелпер имя пакета задают в параметрах визита опцией errorBag у метода post. На сервере правила задают через validateWithBag с тем же именем. Сообщения попадают в объект errors у той формы, которая отправляла запрос.

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

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/posts/create', function () { return Inertia::render('Posts/Create'); }); Route::post('/posts', function (Request $request) { $request->validateWithBag('createPost', [ 'title' => 'required|string', ]); return back(); }); ?>

Давайте укажем пакет при отправке и выведем ошибку:

<script setup> import { useForm } from '@inertiajs/vue3' const form = useForm({ title: '', }) function submit() { form.post('/posts', { errorBag: 'createPost', }) } </script> <template> <form @submit.prevent="submit"> <input type="text" v-model="form.title" /> <div v-if="form.errors.title"> {{ form.errors.title }} </div> <button type="submit">Save</button> </form> </template>

Сделайте форму работника Zoe так, чтобы ошибка пустого имени не смешивалась с другой формой на странице и показывалась под полем.

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