Чекбокс в Inertia
Пусть состояние «опубликован или нет» не набирают строкой в поле ввода. Человек либо согласен с флагом, либо нет, и на экране для этого есть отдельный элемент.
Такую отметку даёт галочка
с типом checkbox.
Без value отмеченная
галочка уходит как
on, поэтому значение
задают явно.
Снятая галочка в запрос
вообще не попадает: сервер
видит только отмеченные поля.
Давайте опишем адрес формы и приём полей:
<?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) {
return back();
});
?>
Давайте добавим в форму одну галочку с подписью:
<script setup>
import { Form } from '@inertiajs/vue3'
</script>
<template>
<Form action="/posts" method="post">
<label>
<input
type="checkbox"
name="published"
value="1"
/>
Published
</label>
<button type="submit">Save</button>
</Form>
</template>
Сделайте форму работника с галочкой «на месте» так, чтобы в запрос уходило явное значение, а не служебное on.