- What is norman-huth/nova-radio-field used for?
- It is a Laravel Nova form field that renders a fixed set of choices as visible radio buttons instead of a dropdown. It stores the selected value as a plain scalar field value, so it works like a standard Nova field in resources, validation, and detail views. It is most useful for small single-choice sets where showing all options at once improves clarity.
- How do I install norman-huth/nova-radio-field in Laravel Nova?
- Install it with composer require norman-huth/nova-radio-field, then rely on Nova service-provider autodiscovery, run nova:publish, and hard refresh the browser. Before writing use statements, verify the namespace against src because the package name, repository organization, and author namespace do not agree. The require step is simple, but you should still verify the field in staging against your exact Nova version.
- Does this package work with Laravel Nova 4 or Nova 5?
- Compatibility is driven by the Nova major and exact minor version, not just the Laravel version. The package was archived in December 2023 and ships a prebuilt dist bundle, so newer Nova releases are not guaranteed to work and can fail silently at runtime. Check whether your Nova version already includes a native Radio field, then test the package against the exact version in composer.lock before adopting it.
- How do I define radio options with this Nova field?
- You define the choices as a simple array-based option set in the PHP field class, and the field stores the chosen value like any standard Nova field. No schema change, cast, or migration is required if the field maps to an existing scalar column. You add it to a resource's fields method and treat the stored value as a normal single-choice value.
- Does nova-radio-field support validation and nullable values?
- It works with Nova validation rules and nullable fields, so you can use required or nullable rules as usual. Keep in mind that the field's rules are a UX affordance; server-side validation remains the trust boundary and must be built independently. Test null handling and validation behavior in your own application before relying on it in production.
- Is norman-huth/nova-radio-field still maintained?
- No, the upstream repository was archived in December 2023 and has a single maintainer with zero dependents. There is no CVE pipeline, no compatibility-fix process, and no community bug reports to absorb discovery cost. Every future Nova upgrade becomes an unbudgeted migration item, so treat it as unmaintained code if you use it.
- Should I use this package or Nova's native Radio field?
- Check your Nova version first because recent Nova majors ship a native Radio field. If the native field covers the requirement, use it and close the ticket; this package is only a drop-in alternative for cramped Select fields. If the UX is genuinely required and unavailable natively, consider vendoring the MIT source rather than adding an archived Composer dependency.
- Can I vendor nova-radio-field into my app instead of using Composer?
- Yes, the MIT-licensed source can be copied into app/Nova/Fields with the MIT notice and an attribution header, then treated as first-party code. Lint and test it like any normal Nova field, and pilot it on one resource first. Vendoring avoids depending on an archived remote and lets your team own fixes during Nova upgrades.
- What are the production risks of using this Nova radio field?
- The main risk is the prebuilt dist bundle: a Vue component compiled against a different Nova minor can load without error but fail silently at runtime. Archived upstream status also means your team will discover edge cases such as null handling, conditional visibility, and index versus detail label rendering in production. Build server-side validation independently and run a staging verification matrix before rollout.
- How do I test nova-radio-field in a Laravel app?
- Install it in staging with the exact Nova version from composer.lock, add it to one resource, and test create, edit, detail, and index views. Hard refresh to clear cached assets and check the browser console for Vue errors, then confirm the selected value is stored as a plain scalar. Add feature tests for server-side validation rules because the field's client-side rules are not the trust boundary.