Как сделать проверку формы в InertiaJS с помощью FormhelperPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как сделать проверку формы в InertiaJS с помощью Formhelper

Сообщение Anonymous »

Настройка: Laravel 8 + Inertia JS с Vue 3
Я пытаюсь реализовать встроенные form.errors с помощью InertiaJS, как описано здесь: https://inertiajs.com/forms# form-helper
Но это не работает. Все помощники форм, такие как form.processing, доступны, но не form.errors.
Сначала я делюсь ошибками из Laravel через boot() в AppServiceProvider. php
AppServiceProvider.php

Код: Выделить всё

public function boot()
{
Inertia::share([
'errors' => function () {
return Session::get('errors')
? Session::get('errors')->getBag('default')->getMessages()
: (object) [];
},
]);

Inertia::share('flash', function () {
return [
'message' => Session::get('message'),
];
});
}
Во-вторых, я настраиваю Vue-File с помощью помощника формы InertiaJS. Если я напишу вместо "

Код: Выделить всё

form.errors.asin" -> "$attrs.errors.asin
" ошибка будет отображаться, но не внутри объекта формы, и я не знаю, почему это так.
Index.vue< /p>

Код: Выделить всё



{{ form.errors.asin }}

 Translate 





import { useForm } from "@inertiajs/inertia-vue3";

export default {
setup() {
const form = useForm({
asin: null,
});

return { form };
},
methods: {
submit() {
this.form.get(
"/translation/translate",
);
},
},
};

HandleInertiaRequests.php

Код: Выделить всё

public function share(Request $request)
{
// In parent::share the error $attrs are shared
return array_merge(parent::share($request), [
'appName' => config('app.name'),
'auth' => [
'user' => $request->user()->only('id', 'email', 'is_admin', 'name'),
],
'flash' => [
'message' => function () use ($request) {
return [
'success' => $request->session()->get('success'),
'error' => $request->session()->get('error'),
];
}
],
]);
}
Как вы видите на рисунке, ошибка установлена ​​в $attrs.errors.asin, но не в form.errors
Инструменты отладки Vue

Подробнее здесь: https://stackoverflow.com/questions/674 ... formhelper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»