- How do I install vkm-apps/x-form in a Laravel application?
- Install it with Composer using composer require vkm-apps/x-form, then follow the repository README for any required asset or config publishing. The package is a rendering and behaviour layer built on Blade, Livewire and AlpineJS, so those must already be present in your app. Because the v2 line is tied to a recent Laravel major, confirm the correct release line for your framework version before installing.
- Which Laravel and Livewire versions does x-form support?
- The v2.0.0 release states support for Laravel 13 and Livewire 3. The release note wording around Livewire 3 is ambiguous, so treat documented version constraints as something to verify with the maintainer before pinning a branch. If your application is on an older Laravel major, check whether an earlier tag covers it.
- Is vkm-apps/x-form compatible with Livewire 3?
- The v2 line is the one described as supporting Livewire 3, while the package notes also reference v1 in a way that reads as contradictory. That ambiguity affects which tag you pin and whether your upgrade path is supportable. Resolve it in writing with the maintainer before relying on it in a roadmap item.
- How do I define a form schema with fields and validation rules in PHP?
- Forms are defined in PHP as reusable schemas containing fields, validation rules and layout, then rendered through Blade components. A field is typically bound to a Livewire property or model attribute, so validation and error display are declared once rather than per feature. This keeps form logic centralized, testable and easier to maintain across form-heavy screens such as onboarding, surveys and admin data entry.
- How do I render form fields in Blade with x-form components?
- You compose forms from Blade components such as x-form.date and x-form.editor, driven by the bound Livewire property. Product and design specify the fields and behaviour while engineering composes the matching components. The result is consistent markup across your application without hand-writing each input, label and error block per feature.
- Are x-form error messages escaped, and is there an XSS risk?
- The v2.0.1 release notes state that error messages render via an unescaped output expression, which allows custom HTML and warns against passing unescaped user input. That means any dynamic error string reaching the component is a potential XSS vector. Enforce a written rule that error strings are static or escaped, add a review checklist item, and require security sign-off before customer-facing exposure.
- How should I handle the date range field that returns an array?
- The date range attribute returns an array of two dates to the backend, unlike the scalar value of the single-date component. That silent shape difference is a common source of downstream validation bugs. Enforce typed DTOs or explicit casts at the boundary so consumers always know whether they receive a scalar or a range.
- Can I use multiple editors or file managers on one page with x-form?
- The changelog shows repeated editor and file-manager fixes around ID conflicts and Livewire re-render behaviour across several releases. That history suggests the component class is harder to stabilize when several instances share a page. Test screens with two editors or dynamic arrays carefully and treat them as elevated defect risk in planning.
- Do I need Livewire and AlpineJS knowledge to use x-form?
- Yes. The package assumes a server-driven UI built on Laravel, Blade, Livewire and AlpineJS, and the components rely on Livewire reactivity. Teams without working Livewire and Alpine familiarity should budget for skills investment rather than treating adoption as zero cost. Surfaces built on Inertia with Vue or React, or offline-first interactions, are not a good fit.
- Is vkm-apps/x-form production ready and actively maintained?
- It is a single-vendor package with no stars or dependents, so there is no community to absorb upgrade work or surface regressions. Adopting it effectively means accepting first-party maintenance obligations for a third-party dependency. Treat it as pre-production until a pilot clears version pinning, security controls and the multi-instance component risks.