NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Forms for Laravel

Inštalácia
composer require roundly-consulting/forms-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Natívny engine formulárov pre Laravel. Viackrokové formuláre — formuláre, skupiny a polia — definujete ako dáta vo svojej databáze, vstup validujete podľa pravidiel jednotlivých polí a každú odpoveď uložíte spolu s jej odosielateľom. Formuláre vytvoríte fluentným builderom alebo ich synchronizujete z konfigurácie, koncepty uložíte a dokončíte neskôr, odpovede čítate typované, nahraté súbory ukladáte ako súkromné médiá a odpovede posielate na schválenie schvaľovateľom, ktorých určíte. Licencia MIT, postavené len na Laraveli a vlastných open-source balíkoch Roundly — bez externých poskytovateľov formulárov.

Čo získate

Formuláre ako dáta

Formuláre, skupiny (kroky) a polia sú uložené v databáze — formulár zmeníte bez nového kódu či nasadenia.

Fluentný builder a synchronizácia

Celý formulár definujete jedným transakčným volaním, upravíte ho porovnávacím updaterom alebo ho deklarujete v konfigurácii a spustíte forms:sync.

Podmienená validácia

Laravel pravidlá na úrovni poľa, vlastné chybové hlášky a polia, ktoré sa zobrazia alebo sú povinné len pri zhode inej odpovede.

Koncepty a uzavreté formuláre

Ukladajte rozpracované odpovede a pokračujte neskôr, finalizujte s plnou validáciou a odmietajte odoslanie do súkromných či expirovaných formulárov.

Typované odpovede a súbory

Odpovede sa vracajú ako int, bool, dátumy a polia; súborové polia ukladajú nahraté súbory ako súkromné médiá s podpísanými URL.

Schvaľovanie odpovedí

Celú odpoveď pošlite na schválenie určeným schvaľovateľom — jednomyseľne, ktorýmkoľvek, kvórom či váhovo — a stav sa premietne späť.

Fasáda, DI alebo akcie

Použite fasádu Forms, injektujte FormsManager alebo spúšťajte jednoúčelové akcie — Forms::fake() každé volanie zaznamená a zároveň vykoná.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie a spustenie migrácií (aj pre závislé balíky) a voliteľne konfigurácia a preklady.

Konfigurácia

Každý konfiguračný kľúč a jeho predvolená hodnota — vymeniteľné modely, typ kľúča odosielateľa, resolvery, typy polí, súbory a schvaľovanie.

Fasáda Forms

Celé API na jednej fasáde — definícia, hľadanie, validácia, odoslanie, koncepty, čítanie a schvaľovanie formulárov, plus buildery a handly.

DI a akcie

Uprednostňujete explicitné závislosti? Injektujte FormsManager s rovnakým API alebo volajte jednoúčelové akcie za každou metódou fasády.

Štruktúra formulára

Formulár obsahuje zoradené skupiny (kroky), skupiny obsahujú polia. Vytvoríte ich ako bežné Eloquent modely a čítate bodkovú cestu poľa.

Fluentný builder formulárov

Celý formulár — skupiny aj polia — definujete jedným transakčným volaním Forms::define() s typovanými skratkami a vlastnými hláškami.

Podmienené polia

Pole zobrazíte alebo vyžadujete len vtedy, keď sa zhoduje iná odpoveď — skryté polia validácia automaticky preskočí.

Validácia a odosielanie

Nájdite formulár, zvalidujte vstup podľa pravidiel polí a uložte odpoveď pre každé pole pod jedným referenčným uuid.

Koncepty (uložiť a pokračovať)

Uložte rozpracovanú odpoveď bez validácie, pokračujte v nej podľa uuid a neskôr ju finalizujte s plnou validáciou.

Čítanie odpovedí

Načítajte odpovede ako typované sady podľa kľúčov polí — filtrované podľa odosielateľa, uuid či výsledku schvaľovania — alebo jednu podľa uuid.

Úprava formulárov

Porovnajte novú definíciu s uloženou štruktúrou a uložte len zmeny — udalosti sa spustia len pre zmenené záznamy.

Typované hodnoty polí

Každý typ poľa sa mapuje na typ hodnoty, takže odpovede sa vracajú ako int, bool, dátumy či polia a nezhody neprejdú validáciou.

Nahrávanie súborov

Polia file a image ukladajú súbory ako súkromné médiá na riadku odpovede — varianty obrázkov, ostatné súbory bez zmeny a podpísané URL.

Schvaľovanie odpovedí

Celú odpoveď pošlite na schválenie určeným schvaľovateľom — jednomyseľne, ktorýmkoľvek, kvórom či váhovo — a stav sa premietne späť.

Trait HasForms

Dajte modelu používateľa (či inému odosielateľovi) vzťah na odpovede a skratky submitTo() a draftTo().

Deklaratívne formuláre

Deklarujte formuláre v config/forms.php a idempotentne ich synchronizujte do databázy príkazom php artisan forms:sync.

Resolvery a predvyplnenie

Vlastným resolverom určíte, ako typ poľa číta request aj úložisko, a triedami Autofill polia predvyplníte.

API zdroje

Vykreslite formulár s jeho skupinami a poliami ako JSON pre SPA či mobilné frontendy pomocou pribalených JsonResource.

Udalosti

Reagujte na odoslania, zmeny štruktúry a výsledky schvaľovania — FormSubmitted, udalosti Form/Group/Field a udalosti schvaľovania.

Výnimky

Špecifické výnimky balíka, ktoré môžete zachytiť — všetky dedia z FormsException — s prekladateľnými hláškami.

Modely, scopy a mäkké mazanie

Dopytové scopy pre verejné, aktívne a expirované formuláre, obnoviteľné mäkké mazanie a výmena modelov za vlastné podtriedy.

Artisan príkazy

Synchronizujte formuláre z konfigurácie príkazom forms:sync a skontrolujte nastavenie balíka v php artisan about.

Testovanie

Aktivitu formulárov overíte cez Forms::fake() — zaznamenávajúci fake, ktorý operácie aj vykoná — plus pomocníky, Pest matchery a factories.

Požiadavky

PHP 8.4+ a Laravel 12 alebo 13; balíky enums, attributes, media library a approvals sa nainštalujú automaticky.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.