juice_forms 0.1.0 copy "juice_forms: ^0.1.0" to clipboard
juice_forms: ^0.1.0 copied to clipboard

Form state — fields, sync/async validation, and per-field selective rebuilds — as a Juice bloc.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.1.0 - 2026-05-28 #

Added #

  • Initial release.
  • FormsBloc — form state for a set of fields, with per-field selective rebuilds: a widget bound to FormsGroups.field('email') rebuilds only when that field changes.
  • Dynamic fields — register/unregister fields at runtime.
  • Sync + async validationValidator and AsyncValidator; async runs after sync passes, debounced, with stale results dropped (latest change wins).
  • Validatorsrequired, minLength, maxLength, email, matches (cross-field), all.
  • Submit lifecyclesubmit() does its own awaited validation pass, then runs the injected SubmitHandler; surfaces submitError, marks submitted. A submit with no handler fails loudly.
  • State — data-only FormsState/FieldState (value/error/touched/ validating/enabled) with derived isValid/isDirty/values. Validators live on the bloc config, never in state.
  • Rebuild groupsform:field:<name>, form:any, form:valid, form:status, form:fields.
0
likes
0
points
18
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

Form state — fields, sync/async validation, and per-field selective rebuilds — as a Juice bloc.

Homepage
Repository (GitHub)
View/report issues

Topics

#form #validation #bloc #state-management #juice

Funding

Consider supporting this project:

github.com

License

unknown (license)

Dependencies

flutter, juice

More

Packages that depend on juice_forms