Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Nova Date Range Field

Nova Date Range Field Laravel Package

marshmallow/nova-date-range-field

marshmallow/nova-date-range-field is a Laravel Nova field that adds a date range picker for selecting start and end dates. It helps manage date ranges in Nova resources, useful for admin forms and filters.

View on GitHub
Deep Wiki
Context7

Nova Date Range Field is a custom Laravel Nova field that lets you select a start and end date through a single, intuitive date-range picker. It stores both values as a pair, making it ideal for filters, reports, and any resource that needs a bounded time period.

Built for Nova 4+, it integrates cleanly with Nova's field system and supports standard date formatting, localization, and validation.

  • Single input for picking both start and end dates
  • Nova-native styling and dark-mode support
  • Configurable date format and display options
  • Works with index, detail, and form views
  • Simple make() registration with sensible defaults
Frequently asked questions about Nova Date Range Field
How do I install and set up marshmallow/nova-date-range-field in a Laravel Nova app?
Install it with Composer using composer require marshmallow/nova-date-range-field. The service provider is auto-discovered, so you then publish the package assets with the vendor publish command or nova:publish depending on the tag the package registers. Finally, add the field to the fields() method of the Nova resource that should use the range picker. The wiring itself typically takes minutes, but confirm the compiled bundle in dist/ was built for the Nova major version you actually run.
What does this Nova date range field actually store in the database?
That is the most important thing to establish before adopting it. The field can persist two ordinary date or datetime columns, or it can serialize the whole range into a single JSON or string column. If it writes to a single serialized column, the dependency escapes the admin layer and constrains exports, whereBetween reporting queries, and any future non-Nova UI. Read the resolve and fill methods in the field class to confirm the storage contract.
Which Laravel and Nova versions does marshmallow/nova-date-range-field support?
The package metadata does not advertise a clear support matrix, so open composer.json and read the declared laravel/framework, laravel/nova, and PHP constraints directly. Check whether the Nova constraint is a caret range or an exact pin, because an exact pin will block you from moving Nova majors. Nova 4 moved to Vue 3 and Inertia with a rewritten asset pipeline, and Nova 5 kept moving, so field packages are among the most upgrade-fragile parts of the ecosystem.
Is this Nova date range field safe to use in production?
The adoption signal is thin: around 3 stars, 0 dependents, and a single publishing organization, which means there is no community canary exercising this code against a Nova upgrade before you do. There is also no evidence in the metadata of a test suite or a CI matrix, so you should read the repository for both. The most recent release is dated 2025-08-28, which does suggest the maintainer is active. The compiled JS bundle in dist/ is an opaque supply-chain artifact, so verify the Vue source is present and builds reproducibly from it.
How does this field handle timezones when saving a date range?
Timezone behavior is not documented in the overview, so test it explicitly against your application conventions. You need to know whether values are written in server time, app time, or the user's local time, and whether display converts back on read. Pay particular attention to DST transitions and end-of-day boundaries, where an off-by-one can silently shift a report range by a day.
Does the field work in Nova index views, sorting, and filters?
The package blurb says the value can be used in forms, index views, and filters, but verify each of those against your Nova version rather than assuming. Sorting and filtering usually depend on the underlying database columns being conventional dates, not on the field component itself. If you need a filter, confirm the package ships one or that a standard Nova filter can target the persisted columns.
Can I validate that the end date is on or after the start date?
Do not rely on client-side enforcement alone. Check whether the Vue component blocks inverted ranges in the UI and then add server-side Laravel validation such as after_or_equal on the end column to guarantee the rule holds for API requests, imports, and Nova actions. If both dates live inside one serialized JSON column, ordered-range validation becomes harder because you cannot use simple column rules.
What are the alternatives to this Nova date range picker package?
You can compose two standard Nova DateTime fields and add after_or_equal validation, which keeps you on first-party code with no extra supply-chain surface. Other options are a more established date range field package with active Nova 4 and 5 support, or writing a small custom Nova field around a picker library such as flatpickr. For read-only reporting screens, a plain formatted text field is often enough.
Why do Nova field packages like this one break on major Nova upgrades?
Nova fields are a thin contract, a PHP class extending Laravel\Nova\Fields\Field plus a Vue component and a compiled bundle registered through Nova::script() or a service provider. Field packages therefore lean on undocumented internals such as fieldClasses, meta resolution, and nova:publish tags rather than a stable public API. When Nova rewrites its asset pipeline, as it did in Nova 4 with Vue 3 and Inertia, third-party fields are the first to fail. Budget time to fork or patch on every Nova major bump.
Is marshmallow/nova-date-range-field actively maintained and what license does it use?
It is published by Marshmallow, a Dutch agency with a broad portfolio of small Nova add-ons, and the 2025-08-28 release indicates the maintainer is currently active. Check the repository for the license file and whether the field is a fork of a more established package before you depend on it. It is also worth reviewing how quickly the maintainer has shipped compatibility updates for their other packages after past Nova major releases, since a single-maintainer cadence means a breaking Nova change could leave this field unpatched for a while.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect