• Czas czytania ~2 min
  • 08.07.2022

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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297