Filament Form Builder to pakiet, którego można używać do budowania formularzy przy użyciu stosu TALL (Tailwind, Alpine.js, Laravel i Livewire). Oznacza to, że większość pracy nad tworzeniem formularzy odbywa się za pośrednictwem komponentów PHP i Livewire.
Oto przykład barebone z dokumentacji:Metoda getFormSchema()
zwraca tablicę pól, która zawiera wiele różnych typów pól:
<?php
namespace App\Http\Livewire;
use Filament\Forms;
use Illuminate\Contracts\View\View;
use Livewire\Component;
class EditPost extends Component implements Forms\Contracts\HasForms
{
use Forms\Concerns\InteractsWithForms;
public Post $post;
public $title;
public $content;
public function mount(): void
{
$this->form->fill([
'title' => $this->post->title,
'content' => $this->post->content,
]);
}
protected function getFormSchema(): array
{
return [
Forms\Components\TextInput::make('title')->required(),
Forms\Components\MarkdownEditor::make('content'),
// ...
];
}
public function render(): View
{
return view('edit-post');
}
}
- Wprowadzanie
- tekstu Wybierz
- opcję Zaznacz wielokrotne pole
- wyboru Przełącz
- radio
- Selektor
- daty i godziny Przesyłanie
- plików Edytor
- bogaty Edytor
- Markdown I wiele więcej...
Pola mogą również definiować reguły sprawdzania poprawności dla każdego punktu danych w formularzu, takie jak wymagane, unikatowe, istnieje (w bazie danych) i wiele innych. Oto przykład:
Field::make('email')->unique()
Field::make('email')->unique(table: \App\Models\User::class)
Field::make('email')->unique(column: 'email_address')
Możesz nawet tworzyć niestandardowe reguły sprawdzania poprawności przy użyciu zamknięć lub klas, tak jak w Laravel. Możesz użyć tego pakietu jako samodzielnego pakietu z Livewire lub jako części panelu
administracyjnego Filament TALL Stack Przejdźdo dokumentacji komponentu formularza, aby rozpocząć. Kod źródłowy tego pakietu można wyświetlić w witrynie GitHub.You can view the source code of this package on GitHub.