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 Charcounted Fields Laravel Package

elevate-digital/nova-charcounted-fields

A Laravel Nova package that adds character-counted text fields with live counts and length-limit support. Ideal for titles, excerpts, meta descriptions, and other constrained content, helping editors stay within required limits while composing in Nova. Easy to configure and integrate into existing r...

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for admin tooling. This is a single-purpose Nova field type. The decision isn't "should we invest in a content platform," it's "do we spend a few hours of engineering time replicating a character counter, or do we composer require it?" For most teams already on Nova, adopting is cheaper than building — but the package is small enough (a custom Nova Text/Textarea subclass) that copying the field class into app/Nova/Fields is a credible fallback if dependency risk is a concern.
  • Editorial guardrails in the admin. Character counters turn a hidden constraint (a VARCHAR(60) column, a Google SERP truncation point, a 160-character SMS segment, a 280-character social post) into visible feedback at the moment of authoring. That reduces a class of preventable defects: truncated meta descriptions, cut-off product titles, broken SMS templates, and rejected API payloads from downstream platforms.
  • Roadmap scoping for content ops. If your roadmap includes SEO fields, ad copy management, notification/SMS templates, or any CMS-in-Nova work, a counter is table stakes UX. This package lets you ship those features without a tooling detour, and it's a cheap way to validate whether editors actually care about length guidance before you invest in richer features (live SERP previews, per-locale limits, grapheme-aware counting).
  • Scope boundary to communicate. This is a presentational aid, not validation. It does not enforce max: rules server-side. Any decision to rely on it must be paired with existing Laravel validation, or you've simply moved the truncation risk rather than removed it.
  • Low strategic weight. With zero dependents and effectively no adoption signal, this should be filed as a tactical convenience, not a platform bet. It does not justify a migration, an admin redesign, or an architecture discussion.

When to Consider This Package

Adopt when:

  • You are already running Laravel Nova and this is a drop-in field swap in one or two resources.
  • The fields in question have hard or platform-imposed length limits (meta titles/descriptions, SMS, social posts, SKU/short descriptions) where editors routinely overshoot.
  • You want the change this sprint, at near-zero cost, and are comfortable pinning a version.
  • You already have server-side max: validation in place; the counter is purely a UX layer on top.

Look elsewhere (or build in-house) when:

  • You are not on Nova — Filament, custom Livewire/Inertia admin, or headless CMS users get nothing here.
  • You need accurate Unicode/grapheme counting (emoji, CJK, combining characters). Naive length counting misleads editors on multilingual or emoji-heavy content; verify behaviour before rollout.
  • You need byte-aware limits (utf8mb4 columns count bytes, not characters) or rich text / HTML source counting.
  • You need maintenance assurances — no stars, no dependents, single maintainer. If the field is business-critical, vendor the ~100 lines of code or fork it under your org. Nova major-version upgrades are the likely breakage point.
  • Your real problem is validation and truncation prevention, in which case invest in server-side rules and tests instead of UI hints.

How to Pitch It (Stakeholders)

To executives: A small, low-cost admin improvement that prevents a recurring, low-severity content defect — copy that gets silently truncated by search engines, SMS carriers, or downstream APIs because editors can't see the limit while writing. Cost is a Composer dependency and roughly an hour of integration per resource; there is no infrastructure, licensing, or migration impact. Framed honestly: this is a nice-to-have that improves editorial confidence, not a revenue or compliance lever. Given its negligible adoption, treat it as a convenience with a documented fallback (we can own the field class ourselves in an afternoon).

To engineering: A Nova custom field that renders a live character count beside Text and Textarea inputs. Integration is a field-type substitution in the relevant Nova resources, plus keeping existing max: validation rules as the actual enforcement layer — the counter must never be treated as validation. Two caveats to flag in the PR: it is a low-traffic, single-maintainer package, so pin the version and be ready to vendor it; and confirm its counting semantics (JS string length vs. grapheme clusters vs. bytes) match the limits we're targeting before we advertise it to editors. Success looks like fewer truncated-field defects and fewer "why did my description get cut off" tickets — measure on the fields we instrument, not globally.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource