فرم ساز لاراول شبیه فرم ساز سیمفونی می باشد.
فرم ساز لاراول 5 بسیار شبیه فرم ساز سیمفونی می باشد که با استفاده از کلاس FormBuilder براحتی می توانید فرمهای خود را ایجاد، اصلاح و یا استفاده مجدد نمایید.
با استفاده از console command می توانید به شکل زیر فیلدهای فرم خود را در مسیر app/Forms/SongForm.php براحتی ایجاد کنید:
php artisan make:form Forms/SongForm --fields="name:text, lyrics:textarea, publish:checkbox"
در زیر یک مثال از فرم ساز در لاراول مشاهده می کنید:
<?php
namespace App\Forms;
use Kris\LaravelFormBuilder\Form;
class SongForm extends Form
{
public function buildForm()
{
$this
->add('name', 'text', [
'rules' => 'required|min:5'
])
->add('lyrics', 'textarea', [
'rules' => 'max:5000'
])
->add('publish', 'checkbox');
}
}
در کنترلر آبجکت فرم خود را به شکل زیر ایجاد می کنید:
$form = $formBuilder->create(\App\Forms\SongForm::class, [
'method' => 'POST',
'url' => route('song.store')
]);
در blade template خود آبجکت بالا را بصورت زیر استفاده می نمایید:
{!! form($form) !!}
در متد store خود داده ها را به شکل زیر اعتبار سنجی و ذخیره سازی می کنید:
$form = $formBuilder->create(\App\Forms\SongForm::class);
if (!$form->isValid()) {
return redirect()->back()->withErrors($form->getErrors())->withInput();
}
// ...
همانطور که مشاهده کردید با استفاده از لاراول یک فرم ساز قدرتمند ساختیم. از لینک زیر می توانید بسته فرم ساز را در لاراول استفاده نمایید: