pitch/liform
Liform is a Laravel package for building and rendering forms from reusable, structured definitions. It helps keep fields, validation, and Blade views consistent, making complex forms easier to define, customize, and maintain across Laravel applications.
$ref, enums, required/optional, defaults). Adopting a package that already maps schema primitives onto Symfony/Laravel form types is almost always cheaper than in-house work — provided the maintenance risk below is acceptable.true is a compliance problem) and partial updates (where an untouched boolean must stay absent, not become false). It is a correctness fix for boolean and multi-select fields, not a cosmetic one.Adopt when:
FormRequest classes.Look elsewhere when:
react-jsonschema-form), not this package alone.For executives (one paragraph): Liform lets us generate data-entry screens from JSON Schema instead of hand-coding each one. The business value is speed and consistency: one definition of a form's shape drives the UI, the validation, and the API contract, which removes a whole class of "the form let it through but the backend rejected it" defects and cuts the cost of shipping internal tools and customer-configurable fields. The trade-off is dependency risk — the upstream project is small and has not shipped features since mid-2021 — so we should adopt it behind a thin internal adapter, pin the version, and treat it as vendored code we can maintain ourselves if needed. The v1.1.2 patch fixes boolean/checkbox handling so unchecked fields are no longer submitted with a value, which removes a real correctness hazard for consent checkboxes and partial updates; it is a low-risk, worthwhile upgrade.
For engineering (the ask): Upgrade to v1.1.2 — a one-commit fix ensuring unchecked types do not receive a value, which affects boolean fields, checkboxes, and PATCH-style submissions. Confirm it against our Laravel/PHP versions, pin the tag, and wrap the renderer behind our own service so we retain the option to swap implementations. Treat the package as dormant upstream: any bug we hit becomes ours to fix, so keep the surface area small.
How can I help you explore Laravel packages today?