Skip to content

Releases: mhsiddiqui/alpine-forms

v1.0.1

14 Apr 06:43
cecf9ff

Choose a tag to compare

What's Changed

  • Bump v1.0.1 — trusted publishing and prettier formatting by @mhsiddiqui in #3

Full Changelog: v1.0.0...v1.0.1

v1.0.0

14 Apr 05:50
dbf160c

Choose a tag to compare

Alpine-Forms

  • Alpine.Form(data, options) factory for creating reactive form instances inside x-data
  • x-register directive with auto-binding for text, email, password, number, date, textarea, select, multi-select, checkbox, radio, and file inputs
  • Form state tracking: isValid, isValidating, isSubmitting, isSubmitted, isDirty, error
  • Field state tracking: isValid, isDirty, isTouched, error
  • Five validation modes: onChange, onBlur, onTouched, onSubmit, all
  • Pluggable schema validation via config.validator (works with Joi, Zod, or any custom adapter)
  • Built-in joiValidator adapter for Joi schema validation
  • Per-field custom validation functions with cross-field data access
  • Async validation support with automatic race condition handling
  • Manual error control: setError(), clearErrors(), getErrors()
  • Form submission with submit(callback) — handles validation, async callbacks, error capture
  • Reset with default value tracking: reset(), reset(newDefaults), getDefaults()
  • Dirty tracking: getDirtyFields() for PATCH-style partial updates
  • Bulk value setting with setValues() for populating from API responses
  • Single-field validation with validateField(field)
  • Dynamic field management: unregister(), updateSchema()
  • Auto-focus first invalid field on failed submit (focusOnError config)
  • Field change events via Alpine's $dispatch (fieldChangeEventEnabled config)
  • CDN build (IIFE), ESM, and CJS distribution formats
  • Documentation site with docsify (search, live demos, API reference)