<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tranquil-tools / laravel-vue-form-builder example snippets
declare(strict_types=1);
namespace App\Http\Controllers;
use App\Forms\CategoryForm;
use App\Http\Requests\CategoryFormRequest;
use App\Models\ExampleModel;
use Inertia\Inertia;
use Inertia\Response;
class ExampleController extends Controller
{
public function edit(ExampleModel $model): Response
{
return Inertia::render('PathToVueFile', [
'form' => ExampleForm::make()
->action(route('categories.update', $model))
->method('PUT')
->fill($model),
]);
}
}
declare(strict_types=1);
namespace App\Forms;
use App\Models\Template;
use TranquilTools\FormBuilder\AbstractForm;
use TranquilTools\FormBuilder\Fields\Number;
use TranquilTools\FormBuilder\Fields\Select;
use TranquilTools\FormBuilder\Fields\Submit;
use TranquilTools\FormBuilder\Fields\Text;
use TranquilTools\FormBuilder\Fields\Wysiwyg;
use TranquilTools\FormBuilder\FormConfig;
class ExampleForm extends AbstractForm
{
public function configure(FormConfig $form)
{
$form->class(['space-y-4', 'mx-auto', 'mt-3']);
}
public function fields(): array
{
return [
Number::make('position')
->label(__('Order'))
->rules([
' ->label(__('Template'))
->options(Template::all()->pluck('name', 'id')->toArray())
->rules([
'nullable',
'exists:templates,id',
]),
Submit::make()
->label(__('Save')),
];
}
}
declare(strict_types=1);
namespace App\Http\Requests;
use App\Forms\ExampleForm;
use Illuminate\Foundation\Http\FormRequest;
class ExampleFormRequest extends FormRequest
{
public function rules(): array
{
return ExampleForm::rules();
}
}