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

Точечные имена полей в Inertia

Пусть в форме записи нужно отдельно спросить имя автора, а на сервер уходит вложенный объект user. Сообщение проверки приходит не по короткому имени, а по ключу с точкой, как user.name.

Объект errors у хелпера использует такую же точечную запись для вложенных полей. В шаблоне обращаются к form.errors['user.name'], а значение поля держат во вложенном свойстве объекта формы.

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

<?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->validate([ 'user.name' => 'required|string', ]); return back(); }); ?>

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

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

Сделайте форму работника Ada с вложенным полем отдела и сообщением сервера под ним при пустом значении.

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